Small code stylistic edits
Rename tree.py to boxes.py
Rename Leaf to Box
Make pdf_document.PDFDocument into an ABC

This moves the existing PDFDocument to pdf_document_pdfminer.

Motivation is to prepare for:

* having alternative backends
* making a reasonably clean and strict interface to the underlying document
Big ol' whitespace commit (PEP8-ify)
Make pdftables backend-agnostic
Add __len__ to PDFDocument abc and introduce skeletal poppler backend
Merge pull request #48 from scraperwiki/code-improvements

Code improvements