Precedence tests for parser

Address #38.
Yes. `assertEquals` allows passing a description of the assertion, while `should.be` prints the `__repr__` of unequal objects without truncating them upon failure. Both are useful on occasion, so it is useful to keep it here for debugging.

Alternatively, we can patch `sure` to support assertion messages, or build a helper `assertEquals` method overriding Python's, which doesn't truncate.

What do you recommend?