Add a way to pass custom parser implementation to Planner

Hi Julian,

This is the change for providing a custom parser implementation to Planner through Frameworks. As discussed sometime back on optiq group:
1. Moved the SqlParserImpl methods used in SqlParser into SqlAbstractParserImpl. Now SqlParser only interacts with the SqlAbstractParserImpl provided methods.
2. Provided a parser factory interface and implementation for Optiq's standard parser.

Please take a look at it and let me know if there are any changes needed.

Thanks
Venki