Close #25. Squashed commit of the following:

commit 501592cc202618e7bcc6acd04e9119cf80b2bd17
Author: Carsten Ringe <carsten@kopis.de>
Date:   Sat Jan 12 12:27:38 2013 +0100

    Fix formatting. Use Logger for exceptions. Remove binary.

commit e4817d3ce29d340d5b626a91b87b62f016c64c6c
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 14:31:18 2013 -0500

    Added some exception output

commit 99474c5b33d946573923227a4004ae5e40f9031e
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 14:15:27 2013 -0500

    Jar with dependencies

commit f61b0ceeec15dd2218afecefca52090692ce1593
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 14:04:32 2013 -0500

    New release build

commit 5b244a96cd7b0370dc03c1546cbe334f9d3d47d9
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 14:01:16 2013 -0500

    README formatting

commit dded97be70cc8c0753bc4d0a8a35d0ed78d53fbe
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 13:56:40 2013 -0500

    Added info about multipart upload

commit 5d7840365cdb099d3f0db10815dce84a467c0654
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 13:56:30 2013 -0500

    Version bump

commit a7e68160c53871b9f29f5390f1a12840b5402f42
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 13:52:41 2013 -0500

    organize imports

commit 5314f942974677944661f03cb37874541bcbc881
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 13:51:34 2013 -0500

    Seperated HumanReadableSize it its own class

commit 14a0bf37a3b6e2661e9cb0a45cafa22e077b8cd6
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 13:38:40 2013 -0500

    Fix a bug; Replace options.has by options.valueOf() != null since .has does not check defaults values

commit 1d227ba324155ad5a19296c3426ca71d62ef0468
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 13:25:21 2013 -0500

    Remove unused imports

commit ac165b4c6416f5e2c799734a2f4902b74ea02497
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 13:24:24 2013 -0500

    Added the help command; Made the programs run even without args

commit ec14df3db86941ed74087860a9f6c351003d0f75
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 12:54:49 2013 -0500

    Added multipart upload part size as a argument, defaults to 10 Mb

commit d143a0593e715970d8bd90e7ceb581904ac986ef
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 12:43:25 2013 -0500

    Made option parsing more readable

commit dd49e189f775392a1a2da729d4b4f183cf907539
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 12:24:57 2013 -0500

    More ad-hoc tests and bug fixing

commit 3ea94c990f3899ccc470637ab05f72d706674819
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 12:10:36 2013 -0500

    Refactor!

commit 7885e2c5df57b16f0d4ad7de0136397e73fa747a
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 12:08:22 2013 -0500

    Refactor!

commit ba7b37c52dfe7191276cc1bae6abe666063fdbbc
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 11:44:36 2013 -0500

    Made commands implement a common interface

commit 27dacadb1b6773c0aec66c266e2efb9646eea670
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 10:37:00 2013 -0500

    Use amazon TreeHashGenerator instead of a custom one

commit 6c885c731fd65167f21f9c757f0ba1ee281c346a
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 10:20:11 2013 -0500

    Make tests works on Windows assure they are cross platform

commit e257fd0ca05ad86a35310a28a51c1a08e801173b
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 10:01:42 2013 -0500

    Make the build work

commit 186700d9e04d00bba73ff8047da799acb36e4ecf
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 10:01:30 2013 -0500

    Fix for making work cross platform; Also added the bin folder to ignore

commit 4683d184aebd1939eafecb954fd375344c399914
Merge: 5fc0e89 78991b1
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Fri Jan 11 09:44:11 2013 -0500

    Merge branch 'async-upload' of github.com:DeuxHuitHuit/glacieruploader into async-upload

commit 78991b1deae913d3ba9ef87738c9d810bd6cc89c
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Thu Jan 10 21:52:32 2013 -0500

    Added a CommandFactory

commit de9354abf7d594b15d7d7c27248b49f7197316a0
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Thu Jan 10 21:44:12 2013 -0500

    Refactor options params to be more readable

commit adee7730334aafadbc3394f4241d7a3adeeb9f11
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Thu Jan 10 21:38:43 2013 -0500

    Renamed commands

commit 68d78a9712b16c57757c7299d7b58674299693e8
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Thu Jan 10 21:05:58 2013 -0500

    Created more namespaces in order to sort thing out

commit 5fc0e89c109c8a328c5774b7d1d1be978854c223
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Thu Jan 10 18:41:15 2013 -0500

    Multipart upload working

commit 8163f83f07098771d285f69b06be5357a9bcd31c
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Thu Jan 10 18:38:04 2013 -0500

    Started to work on multipart upload

commit 51b0e2a343942ddbc885f0460ef29e07d3224a9d
Author: Nicolas Brassard <nico@nitriques.com>
Date:   Thu Jan 10 18:13:38 2013 -0500

    Default lookup for credentials file in user.home