Stop throwing CarNotConnectedException.

CarNotConnectedException was used to signal an issue with communicating
with CarService. This came in two forms - a directly-thrown
CarNotConnectedException thrown upon catching a RemoteException when
calling a CarService Binder, and an "indirect" CarNotConnectedException
signaled by CarService that was caused by throwing an
IllegalStateException with a special message, which was then caught by
the Binder stub, rethrown onto the client, Carught, and translated into
a CarNotConnectedException by Car[ApiUtil]'s
checkCarNotConnectedExceptionFromCarService method.

CarService is now a critical system service, meaning that if it
disconnects, the entire userspace will be torn down and restarted. That
means that callers no longer need to handle the case where CarService is
disconnected, which makes CarNotConnectedException obsolete.

To allow cleaning up the API, this CL removes all direct and indirect
throws of CarNotConnectedException. Direct throws, which were all as
a result of RemoteExceptions, now use RemoteException's
rethrowFromSystemServer() method, and the few indirect
CarNotConnectedExceptions have been changed to throw
IllegalStateException directly instead.

Bug: 33250970
Test: atest CarServiceTest CarServiceUnitTest AndroidCarApiTest;
      cts CtsCarTestCases
Change-Id: Ib400c8e0086e78350202c57c1b63c1259aae0722
25 files changed