A unit test for the evaluator memory allocation

Towards #676:

  * Added a test for memory allocation. It validates the memory size returned in the `AllocatedEvaluator` and available to the `Task`
  * The latter has some slack (128M) right now to account for parts of the Java memory allocations I don't understand.

 I had to add quite a bit of infrastructure in the process:

  *  `AllocatedEvaluator` now has an `EvaluatorDescriptor`.
  * To make that work, I added a new Evaluator type: `UNDECIDED` to indicate that the type is yet to be determined (e.g. JVM/CLR) after launch
  * `EvaluatorDescriptor` now has a memory size