Major refactor (originally designed as a discussion for implementing Tox)

## Less WIP, now final form
Throwing this up for input. Originally I just wanted to get Tox running (automatic multi-env testing). I wanted an easier way to kick off tests and VirtualDjango was uuhhhh..how do I say...complicated. Much easier to call `settings.configure()` like other people who provide Django apps. Originally I wanted to use Distribute's lovely [setup.py test](http://pythonhosted.org/distribute/setuptools.html#test). I still want to use Distribute's [setup.py develop](http://pythonhosted.org/distribute/setuptools.html#develop-deploy-the-project-source-in-development-mode). However, this PR doesn't require Distribute. Its methods merely shaped some of this refactor.

Yes this breaks backward compatibility, but these are dev tools so that's not important. 

## Features & Refactors
* no VirtualDjango
* a way to run a Django environment from import or CLI with component-specific settings
* CLI mode is easy for a testing tool (re: Tox) but harder for a human because you have to reach into the virtualenv for armstrong/dev/dev_django.py
* better messaging for bad imports or missing components
* "a la carte" package requirements mean faster virtualenv builds and only for the features of the dev tools you actually use
* faster virtualenv building in general without the constant pip uninstall/install
* run `test` or `coverage`
* tests can take parameters (exactly as Django manage.py test does). faster test development! 
* `fab test` doesn't break the first time it's run in a new env (tries to uninstall and fails)
* coverage testing is ready for multiple virtualenvs at once
* default settings for components reduces boilerplate
* settings are defined in normal `settings.py` Django fashion
* `fabfile.py` is obvious. `tasks/__init__.py` wasn't

## Downsides
* we've lost Lettuce testing. someone else can refactor that
* all Armstrong components will need a refactor to use this new armstrong.dev

## Changes
* every Armstrong component uses an optional `env_settings.py` file to provide what it needs for Django settings
* every Armstrong component still needs a `fabfile.py` but it'll import from `armstrong.dev.fabfile`

## Todo
* the `docs` command for Sphinx was always half-baked. There's more to running Sphinx than just pip installing and running this Fabric command. like `sphinx-quickstart` for starters. *That* though can be a separate PR.

### Tox
Tox is like Travis CI in that it will run the tests in multiple virtualenvs with whatever package specifications you want, but it'll run locally.

### Why I like setup.py test
It's Pythonic. It lets us specify our test dependencies as part of `setup.py/package.json` just as we specify our package install requirements. Requires Distribute.

### Why I like setup.py develop
We can drop the boilerplate of `pip install .`