adding Parser and ParserInterface, to allow for custom url parsing. Also...

... making all methods public, to allow manually calling request() and callback()