Overhaul TruthTable data type

Fix Issue #20:

The table module now has a 'ttvar' method, and TTVariable class, so all
Variable instances are of type TruthTable (and boolfunc.Variable).

Fix Issue #23:

The new PCData class uses array.array for the data layout. Much more
efficient than bytearray.

Fix Issue #25:

There was no good reason to have a separate data type for truth tables
that don't support "don't care" values. Now all TruthTable instances
just use the old PCTable format.