Send ActivityOptions to client

This removes getActivityOptions from server side. So 2 binder
transactions from Activity#performCreate and performStart can
be eliminated.

The remote animation in ActivityOptions is also separated to
another field of ActivityRecord, so when consuming the options,
the remote animation won't be affected.

Bug: 65202329
Bug: 132432864
Bug: 175409544
Test: WmTests:ActivityRecordTests#testTakeOptions
      ObjectPoolTests#testRecycleStartActivityItem
      CtsTransitionTestCases:ActivityTransitionTest
      CtsUsageStatsTestCases:ActivityTransitionTest

Change-Id: I600a9a478a3e596e58b0a8120cfa8b9f32598b47
22 files changed