inital imgur v3 api implementation

* Created a general purpose HTTPFileUploader which allows multipart/form
data file uploads
* Created ImgurUploader which wraps the HTTPFileUploader and provides
methods to upload to imgur
* Updated the Upload class to use the new api
* Removed commons-codec dependency and decreased final jar size by
~200kb
temporarily remove DataUtils

Removing imgur dependencies during apiv3 creation
Created ImgurImage model class

* Moved ImgurUploader to imgur package
* Removed dependency on imgur package from HTTPFileUploader by requiring
the consumer to set the clientId
* Created generic ImgurResponse model
refactor network classes to be more clear

* DownloadResponseListener -> ServerResponseListener as it serves simply
as a success/fail response from a server, not necessarily just for
downloading.
* URLDownloader -> StringDownloader since you are downloading strings,
not a url.
First implementation of async imgur api

The MultiUploader tool is broken as of this commit. It's model doesn't
work well with the new async imgur api. It will be rewritten before this
branch gets merged back to master.

* Created ImgurResponseListener to be implemented by anyone who wishes
to receive notifications when an image upload finishes successfully or
fails
* Refactor ImgurUploader to be a wrapper over SimpleFileUploader
* Refactor HTTPFileUploader to be package-private as it shouldn't be
used directly outside of the upload package
* Created SimpleFileUploader to be a wrapper over the HTTPFileUploader
for generic file uploading to any server that implements the same api as
imgur for image uploads. This still needs to be refactored in to
something more general.
* Created corresponding UploadException and UploadListener for the
SimpleFileUploader

* Refactored AnimatedTrayIcon to have a static factory creation method
* Moved various paths to the global Config file

* Refactored Upload to use the new ImgurUploader
Move multiuploader to separate package
standarize variable names

changing snake_case to camelCase to follow java conventions
reimplemented the multiuploader using the imgur api
Add ability to set fields on file upload

* addField was added to SimpleFileUploader so that fields can be added
by the consumer. They are inserted in to a LinkedHashMap to preserve the
order
Merge remote-tracking branch 'origin/imgur-v3-api'