Extended precondition exception with contract location
Refactored out fields + bug fixes

- Contract enforcers now pass all their data from preCheck() to
postCheck() using parameters, no more fields
- A few bugs fixed ($this binding in postconditions)