Adding Android build.xml
Merging most of Jason Boehle changes

complete unit tests for sdk; removed reliance on OpenUDID; many bug fixes w.r.t. multithreading/concurrency and possible data loss or corruption; check response code and response JSON before assuming success in submitting data to server; don't send negative session duration to server; verify & sanitize input; split each class into its own .java file; Android library project; use nanoTime instead of currentTimeMillis for tracking session duration; set timeouts on network operations; added license header to sdk source files; use Executors instead of timer or thread; send oldest timestamped events first; handle DisplayMetrics.DENSITY_400 in DeviceInfo.getDensity; better handling of NaN/infinity in event sum; JavaDoc for most SDK classes & methods; don't allow activityCount to go negative
Merging last batch of changes by Jason Boehle

allow multiple calls to init with the same parameters; added Countly.halt() method to API, this API is useful if you have an opt-out of tracking switch in your app, call halt() when user opts out to clear & stop all session & event tracking; add/change tests for new/changed functionality; removed all references to "coupons.com" in CountlyTests class; fixed a warning Idea was giving in CountlyTests class
remove two CountlyStore tests that were obsoleted by moving parameter checking to the Countly class
update Countly class unit tests to reflect recent changes
minor updates to match code style
update JavaDoc
fix bug in ConnectionProcessor - now that ConnectionProcessor adds on the deviceID in real-time instead of deviceID being saved in the CountlyStore, when a connection string was successfully submitted to the server, it was trying to remove the connection string + device_id, which would result it none of the connection strings ever being removed from the CountlyStore
update unit tests to reflect change that moved adding the device_id to connection string from ConnectionQueue to the ConnectionProcessor
Countly.init that doesn't take a deviceID doesn't need to be synchronized because it just calls the other init method that is already synchronized
add test for Countly.init method that doesn't take deviceID
make main project use android-19 instead of Google APIs 19
remove a couple of assertions in the Countly class unit tests that may fail due to changes in DeviceInfo.getDeviceID method (setDeviceID(null) does not necessarily mean getDeviceID() will return null, it may return OpenUDID if available)
call OpenUDID dynamically so that including the OpenUDID source is not necessary to get the Countly Android SDK to work when an app provides it's own deviceID
minor change to JavaDoc and update sdk version constant to 14.07
Merge branch '14.07' into 'master'