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 lala

Conflicts:
	compiler/parse.py
	tests/test_type.py

Conflicts due to dropping semantic checks from parser
and using new API.