Create the warehouse.packages application and add it's first model, Project.

* Adds the ``warehouse.packages`` application
* Adds the ``Project`` model
* Adds a conversion script to convert PyPI legacy ``packages`` table into ``Project`` objects
* Adds a few new database field types to handle the new table

##### Open Question

Currently PyPI only considers ``_`` and ``-`` to be equivalent. [PEP426](http://www.python.org/dev/peps/pep-0426/#name) also suggests that ``1``, ``l``, and ``I`` as well as ``0`` and ``O`` to be equivalent. In order to inact this rule on the current PyPI data there are ~50 packages that are in conflict. Currently this PR simply excludes those packages from the checks.