Custom Headers and success/error callbacks

Added parameters for errorCallback and customHeaders. errorCallback will
be called if the request fails (status code 400 or above). customHeaders
is an object that has a key-value system that can be inject to the request
headers before sending off the request - beneficial for things like Basic
Authorization.
Added detection for null or falsey object values
Added checks for errorCallback and its existence before calling it.
Added examples for errorCallbacks and customHeaders
Add duringCallback function to be called about progress of uploads
Fixed code examples and added duringCallback param

Fixed code examples (forgot to add semicolon to variable declarations).
Also added the example for our new duringCallback parameter, which fires
everytime a byte is transmitted or 50 ms passes, whichever is less
frequent.
Merge pull request #9 from alastairparagas/master

Added error callback, progress callback  and custom headers