Major refactor on current code base including:

- Rework of the handler hierarchy to support a single base class and remove instanceof checks.
- A full implementation of Cancel behaviour with granular cancellation time (downloads are now chunked so can be canceled before completion).
- Progress and retry notification
- Fixed some small stability issues (unhandled exception, connection issues on network switch).
- SyncHttpClient fixes to use any handler (all handlers can now be forced into sync mode)
- Cleanup of JsonHttpResponseHandler.java removing all superfluous helper methods

Ideally JsonHttpResponseHandler.java, TextHttpResponseHandler.java, BinaryHttpResponseHandler.java should be moved into the examples directory
Fix minor formatting issue
Added another cancellation check
Fix override issue in sample app
removed redundant methods
Fixed examples
Clean rebase for proposed changes
Examples and other files rebase
Refactor preserving call chain for backward compatibility
Rebasing to latest commit from upstream
Merge remote-tracking branch 'upstream/master'

Conflicts:
	library/src/com/loopj/android/http/JsonHttpResponseHandler.java
Fixing ArtifactID

I was trying to compile from Maven using 'com.loopj.android:async-http-client:1.4.3'
which doesn't work. It should be:
'com.loopj.android:android-async-http:1.4.3'
Merge pull request #339 from sweetlilmre/master

Refactor attempt #3
Merge pull request #344 from dvdrlee/patch-1

ArtifactID should be 'android-async-http' in readme
Invalid duplicate onFailure call
Not just javadoc
Code style
Not ommiting exception
Default charset
Timeout and maxConnections gets/sets