Refactor Run to Dataset
Merge branch 'refactor/run' into develop
Fix bug where solution would not get written out

Local variable was hiding class variable
Merge branch 'bug/solution-file' into develop
Track results of a solver run in the context

This allows for multiple ‘results’ to be generated from a single run. For
example: the best solution, as well as the ranks matrix.

It also allows any object with access to the context to publish a new 
best solution.  This may be useful to listeners that collaborate with
external sources, e.g. the AgentListener that may pull a new best solution
from the API.
Add special accessors for the best solution
Make access thread-safe
Remove unused hash() method
Fix test text
Remove Mode from listeners
Ensure listener is only firing once at a time
Rename RanksListener to PositionsListener

Publish PositionsMatrix in the context
Merge branch 'refactor/context' into develop
Bump version to 0.11.0-SNAPSHOT
Context was not getting set properly
Only consider score >= 0 in positions range
Add some example simulation files
Removes before/after from DefaultEvent
Remove relative ordering penalty
Clean up dataset references in Solution

Components should access the dataset via the context