Make API of main module ply-agnostic. Simplify test code.
Parse: Silence PLY warnings when not starting from default state.
Tests: Order imports alphabetically (PEP8).
Lexer Tests: DRY.
Parse: Build own lexer if one is not provided.
Tests: Simplify initialization code.
Lex: Rename LexerBuilder to LexerFactory.

* Homage to Kostas Kontogiannis.
Lex, Parse: Create own logger if one is not provided.
Lex: Add wrapper for easy lexing.
Parse: Add wrapper for easy parsing.
Lex: Avoid name clash with lex.lex from PLY.
Test: Tree functional test treeCount was only counting right subtree; fixed
Lex test, Parse test: Test module-level wrapper functions.
Lex test, Parse test: Utilize the new API.
Merge pull request #39 from dionyziz/tree_test_fix

Fix bug in llama program.
Merge pull request #37 from Renelvon/simple_api

Apply 'convention over configuration' to lex/parse API.
Merge branch 'master' into parser_test2

Conflicts:
	tests/test_type.py

Parser API has changed. Resolve conflicts by using the new API
in new type tests.
Makefile: Remove duplicate call to clean/prepare
Type test: Clear error log when reusing parser