Allow creating KDBs from scratch, added setup.py for pip install

I fixed a lot of broken or missing stuff that was preventing me from creating KDB files from scratch using your library. I've also added a setup.py file to allow `pip install` to work with this package, updated the tests that were working to be runnable from `nose` or `py.test`, and added a new test that creates a fresh KDB, writes it, and then reads it back.

Thanks for your work on this. It's really handy to have a KDB reader/writer that works with Python 2.7 and is GPLv2 rather than v3.