Brought in the mapping class from ee6e5fd4a

- Thanks, @aquamatt!
Mapping type!

Also did a million other things, so here's hoping we don't need to
roll back:
- Lint lint lint...still not sure about long URLs busting past 100
  cols in core.py, need to look into ReST tricks for that
- Broke tests into their own path, split them out by module
- Added requirements files, mainly for test requirements
  dev requirements file is only helpful if you don't already
  `pip install -e .` dev projects with working setup.py files
- unittest2 is now in tests_require where it belongs
Version bump to 0.3.0a1, we'll see what travis has to say about this...