Use __slots__ to reduce memory usage.

Saves around 10% of RAM when using many protos.
Merge branch 'master' into slots

Conflicts:
	palm/palmc/codegen.py
Merge branch 'master' into slots
Add script used to check memory use

The results of running the script against the code in master and this
branch show around 32% less memory used in the slots branch:

    # 10k Test objects (master)
    $ python check_mem.py
    baseline 33300 7400
    10k 258136 232324

    # 10k Test objects (slots)
    $ python check_mem.py
    baseline 33296 7416
    10k 183844 157884
Merge pull request #19 from dowski/slots

Reduce Memory Overhead With __slots__