New modified API for evaluating files

- A simple monadic interface
- Settings are not passed around in 'EvalSettings' datastructure
- File name generation is up to client
More cosmetical changes to the API
Switching to 'ReaderT' for the API
GhcMonad instance for 'EvalM'
Making sure that the whole program uses API correctly
Testing mem limits
increasing the limit
Making RLimits an optional setting
Tidying up
Modifying the structure of the project

- Moving old prototypes to the separate directory
- Moving the eval API to the separate Cabal project
- Minor code tidying
Merge branch 'eval'