Consolidated Stale Pull Requests & Cleanup

* Resolved conflicts from olethanh's stale pull request #29, squashed his commits
* Included jlowin's fixes from #54
* Fixed some typos, added some docstrings
Makes sense. I think @olethanh mentioned it in his original pull request (#29) as well. The only change in behavior would occur for those previously explicitly specifying either `processor` or `scorer` as `None`, for example:

`extract(query, choices, processor=None)`

 or

`extract(query, choices, None)`

Which seems like an odd (perhaps even "wrong") way to call the function if you're relying on the default behavior anyway and I can't think of any use cases for that kind of invocation.

I believe correct behavior is maintained for every other way you can call the function, but can understand leaning towards the conservative option. Let me know if you'd like me to make any changes.