Replace optparse with argparse, use subcommands

Argparse supports subcommands, which makes it easier to group options
with their related action.

The actions list-applications, list-users, list-craches, add-app-user
and detail are now subcommands.

One downside is that python 2.7 argparse does not support aliases, so no
short versions of the above list are implemented. (previous short options -a,
-u, -c and -d does not have any new equivialent)
cli: Add commands manipulating versions

Added the following commands to the cli application:

* list-versions
* version-delete
* version-add
Add argparse as a dependency to setyp.py

Needed for python 2.6

Change-Id: I87df47c7b814024b1ec91d227f45762711de03c0
Bugfix: versions-add notify now works

Made the interface for AppVersionAdd accept booleans for downloadable
and notify and hide away the fact that these are coded as (1 or 2) and
(0 or 1) respectivly in the upstream API

Change-Id: Ia9e6509d1bff90688e348ca8f11c14714167a375
Increase version to 0.4.0

Change-Id: I794a4c06462d3160993fd6d42e3ca2ec3631b608
Merge pull request #9 from maxthoursie/versions

Versions
PEP-8 cleanup
Refactor base API

- Use requests for core HTTP communication
- Streamline things considerably
- Use distutils for setup.py
- Create base tests for httmock.api
- Clean up the APIError exception
- Validate the API token value passed in when constructing a APIRequest instance
- Idiomatic use of logging/logger
- Add __repr__ to APIError
Package metadata updates

- Add LICENSE file
- Add MANIFEST.in
- Update setup.py to use README.rst for long description
- Update setup.py classifiers
- Update setup.py to include LICENSE content
- Update description and URL in setup.py
- Update testing information in setup.py
Update travis.yaml configuration
Remove unused import
Move the old tests into a backup dir until I can make sure the coverage is copied in
Application related updates

- Rename apps to app
- New Application class with list(), statistics(), and versions()
- Keep AppList for a transitional period
Reflect the new module name
Remove poster requirement
Rename the backup directory
Use setuptools instead of distutils
PEP8 changes
Have nose ignore everything but the tests directory
Ignore .egg files