Refactor OSX hashdump post module and add support for 10.8+ hashes

* Adds support for MATCHUSER datastore regexp
* Adds support for OSX 10.8 and 10.9 hashes (PBKDF2)
* DRYs up a bunch of older code, adds lots of helper fns

Note that the `enum_osx` post module duplicates the functionality for hashdump. I am purposefully not updating the duplicate, as this is a bad pattern, and I am in the middle of refactoring enum_osx anyways (branch name refactor_osx_enum).

#### Verification steps:
- [x] Module successfully dumps hashes on a OSX session on 10.6 or below
- [x] Module successfully dumps hashes on a OSX session on 10.7
- [x] Module successfully dumps hashes on a OSX session on 10.8 or 10.9
- [x] Ensure that the `MATCHUSERS` datastore option works as expected 

In each instance, verify that the dumped hash is identical to what [Dave Grohl](http://davegrohl.org/downloads.html) outputs with this command:

    ./dave --john=<username>