Removed bytesLeft from isCereal requirement
char encode tests work
Encoding arrays works
AAs work, added test
Encoding works for strings
The whole of encode.d tests pass with new Cerealiser
New Decerealiser works with some tests in decode
isOutputCereal and isInputCereal
Made InputCereal and OutputCereal less ambiguous
All of decode works with new Decerealiser
Specialisation for string
all tests in encode_decode pass
enum tests pass
tests in reset pass with new structs.
pointer grain
Added private grain member functions as templates
Added protected grain member functions as templates
grainRawArray
grainMEmberWithAttr
grainAllMembers