Implemented I2CP connections over Android Local[Server]Sockets
Moved AIDL interfaces to client library
Use static int constants for State instead of Enums

Enums often require more than twice as much memory as static constants, and
should be strictly avoided on Android.
https://developer.android.com/training/articles/memory.html#Overhead

The advantage of this change is that client library users can directly compare
the status values they get from IRouterState to the constants, instead of
parsing a string representation of an Enum.