Make compatible with new API, improve things

So this is yet another pull from my fork. I've updated it to make it compatible with the new API (I believe it has some things the other pull requests here are missing, like the page index changes, rename of `tripcode` to `trip`, etc.). There are also some other changes and additions such as:

* New properties like `slug` and `semantic_url` to take advantage of thread slugs
* Use `requests` API more idiomatically; latest major version of `requests` is used (2.0)
* Added a `expand()` method to expand threads that have omitted posts
* Created `all_posts` property to return a list of all posts in a thread, including the topic and any omitted posts
* Automatically (but lazily) unescape HTML and other markup into pure human-readable text from comments when accessing `comment` property; option to disable by passing `clean_comments=False` to `Board` constructor.
* Use `dict.get()` in all necessary places to prevent `KeyError`s
* Other small things, just read the commit

Warning though that this is completely incompatible with master because all `camelCase` and `PascalCase` has been converted to `snake_case`.