Createa a lib directory; move BLAST+ methods

- Move BLAST+ parsing methods to the biohazard.blast module. Change
  the API to be a generator so it's easier to use.
- Set sys.path in blast2json to automatically pick up the lib/ directory
- Add some Python stuff to .gitignore
Add .swp to .gitignore.
Add biohazard.tax package

- This contains a GIToTaxIDDB class which facilitates fast mapping of
  GeneBank IDs to taxonomy IDs.
- Unfortunately the Python runtime bogs down when processing large .dmp
  files so I wasn't able to generate an index for more than 25% of the
  1.9GB gi_taxid_prot.dmp file. I think we need another approach.
  However, this does work (albeit slowly), so I'll check it in for now.
Write C++ Python extension to build GID indices

- Write a C++ Python extension to build indices of GIDs to taxonomy IDs.
  The old Python code was extremely slow: the process was pegged at 99%
  CPU and stalled completely about 25% of the way through after ~10
  minutes. The new code completes in ~20 seconds.
- Build the biohazard Python code as a distutils package. This was
  primarily to facilitate compilation of the native extension. As part
  of that, move all code to src/. Its now built using bin/build, which
  installs everything in .lib. The blast2json script has been updated to
  add this to sys.path.
Add TaxonomyDB class

- Create a TaxononyDB class which should be used to access the entire
  corpus of taxonomy data, including GI->{protein, nucleotide} mappings,
  as it uses instances of GIToTaxIDDB.
- The TaxononyDB.gi_prot() method returns a Python object containing the
  taxonomy information for protein mapped by the given GI. This data is
  de-normalized from a variety of sources in the taxonomy dataset so
  that the application doesn't have to do a bunch of lookups/joins
  manually.
- New dependency: gdbm
Segregate native code into biohazard_native

- Move native code into its own top-level module, biohazard_native so
  that we can avoid requiring a distutils package for pure Python
  modules. This should speed up development since one does not need to
  run bin/build just to see changes to a Python file.
- Update blast2json to support loading modules from both src/ and .lib/
Merge names.dmp data into tax.gdbm

- Add the data from names.dmp into the GDBM file for taxonomy data. In
  the case where there are multiple names for a given taxonomy, pick the
  first one.
- Re-factor the code that populates tax.gdbm so that it supports
  merging two datastreams via itertools.izip()