Refactor humane datetime parser

Makes it easier to add new formats.
Merge pull request #1 from agateau/datetimeparser-refactor

Refactor humane datetime parser