BUILD: Only build PLY tables when performing setup

The changeset should be straightforward to understand.  If not, then in words: I propose to solve the parsetab.py and parser.out litter problem by

1. Introducing two possible invocations of `yacc.yacc()`: one (default) that tries to read PLY table from `tulip.spec.parse` and does not generate the table nor debugging logs, and another, available with `tulip.spec.plyparser.rebuild_parsetab()`, that creates the table and requests debugging output from PLY.

2. Whenever setup.py is called with "build" or "install", it will call `rebuild_parsetab()`, place the resulting `parsetab.py` under `tulip/spec/`, and then include it as package data for `tulip.spec`.