add 'build' subdir ignores for CMake and Python
Use Ply for parser implementation
add debug option to parse, add support to lexer for entity keywords
check for duplicate entity definitions in input
add logging to module, and mapping of lexer attributes lineno and lexpos to improve error messages
improvements to error handling
* Lexer now has a compatibility mode for entity names not all in uppercase
* Lexer now takes an extra argument header_limit, input is searched for
  valid start point, extra text up to header_limit is ignored.
Merge pull request #299 from cshorler/investigate_ply_usage

Investigate Ply usage