Changed DateTimeParser to an interface, moved existing to AbstractParser

This allows to provide simpler parser implementation not using the ParseContext.