More documentation tweaks.
Added notion of accessors.

KeyMapping now uses HYDAccessor protocol to fetch extract values from an
object. The two obvious ones are:

- KeyAccessor that uses -[valueForKey:]
- KeyPathAccessor that uses -[valueForKeyPath:]

Both accessors can support "batch" fetch of multiple arrays.
The key mapper only reads the first value returned.
Added test coverage around multiple fields (and single fields).
Added accessor tests
Refactor. Most core mappers can accept HYDMapper objects as an alternative first arg.

#19.
Converted remaining few mappers to accept HYDMapper. Closes #19.
Whitespace trim