Bug fixes

* Fixed a bug in Inspect where fields might be in arbitrary order.
* Added documentation to Inspect.
* Fixed bug in SplitMacro where the split targets might be in arbitary order.
* Added scrooge test case to SplitMacroSpec.
Might be worth putting a comment here describing what `sorted` actually does, given it is fairly non-standard behaviour (e.g. you'd expect this to return them in alphabetical ordering).