Improve error reporting from async callbacks

Success callback in AsyncHttpResponseHandler catches errors thrown
by `callback.onSuccess` and sends them to `callback.onError`.

AsyncTestCase supports reporting exceptions from the background thread
back to the main thread where the test is run from. This way assertion
errors in async callbacks are correctly delivered to JUnit runner.
Support nested parameters in method invocation

Implement flattening of parameters, so that
  { "here": { "lat": 10, "lng": 20 } }
is sent as
  ?here[lat]=10&here[lng]=20
Remove .idea files

Remove project files of Android Studio, as they are semi-randomly
changing. The project can be re-created by importing the build.gradle
file.