Optimize Thread Pools

* Optimize number of threads in pool based on available processors
* Kill core threads when not in use (android-8+)
* com.parse.Executors#newCachedThreadPool works the way you'd want it to
    * Reuses threads in pool if available
    * Creates more threads until core pool size
    * Queues threads until queue size
    * Creates more threads until max pool size
    * Rejects
* Add Task#UI_THREAD_EXECUTOR to continue work on the UI thread.
Merge pull request #8 from grantland/feature/uithread

Optimize Thread Pools
WebViewAppLinkResolver appears to be working and producing proper app links.
AppLinks code tested.
App Links apparently complete.
Start handling should_fallback.
Rename tests.
Incorporates review feedback.
Make URLConnections disconnect at appropriate times.
Incorporate more feedback.
Merge pull request #1 from ParsePlatform/david.applinks

Android App Links.
Handle errors correctly.
Merge pull request #2 from ParsePlatform/david.applinks

Handle errors correctly.
Reset the project target to android-8
Merge pull request #3 from ParsePlatform/david.bugfix

Reset the project target to android-8
Java doesn't follow redirects from http->https or vice versa by default.  This changes that for applinks.
Merge pull request #4 from ParsePlatform/david.urlredirect

Java doesn't follow redirects from http->https or vice versa by default....
Make version a string.
One more instance of using a string.
Merge pull request #5 from ParsePlatform/david.version-fix

David.version fix