Tightened up some types, esp JObjects -> JFields, Iterables -> Lists.
Removed the dependency of e4 on e3's functionality.
Added spaces following ,s.
Improved docstring descriptions.
Made tests a bit more readable with doBlah(input) mustEqual expected.
/cc @jbeemster