slightly reformat object layout.
Change EdgeModel to Trait.
Add EdgeParser for new architecture.
Removed model and kernel from EdgeBasedMessagePasser.
Remove redundant cache.
Change return type of test data to be a Map.
Make EdgeDemo.
Change EdgeParser to class rather than trait.
Make a more sensible feature extractor.

Use new feature extractor.
Add key index to EdgeModel.
Put message params into cache.
Remove build functionality from EdgeBasedCache.
Add noise to feature vectors.
Make new Inferer class.
Get basic testing framework in place.
Add NaN check.
Carve out NaN test.
Tidied up testing a bit more.
Revert to linear kernel.
Add incomplete Cholesky to project.
Swap so that the observations are the tokens, not
the contexts.
Move more complex features to separate extractor.
Add better correct framework to demo.
Make output from model the correct length.
Allow for 1 length sentences when merging data.
Decrease number of iterations.