Refactor

- Given can be instantiated with an env which can also be the 'this' of a spec.
- Heavily commented the code
- Generally tried to clean up the code to make it more comprehensible
'make watch' now immediately runs the specs

So you no longer have to force a file modification for the specs to run.