Fix memory leak in ProtoTest

ProtoTest eats over 2GB memory when it runs all test cases:

![mem1](https://cloud.githubusercontent.com/assets/2600379/5214986/d90857d0-765d-11e4-9685-8b67c35ab7ee.png)

That is because ``ProtoCore.Core`` is used in every test case, and ``ProtoCore.Core`` instance is not properly cleaned up (more details: static instance ``CLRObjectMarshaler`` holds ``ProtoCore.Core`` instance until ``ProtoCore.Core`` instance sends out ``Dispose()`` event).

Here we are not going to restructure these static instances in the VM. For ``ProtoTest``, a quick fix is to add a basic class ``ProtoTestBase`` which will handle setting and cleaning work. Now all test classes inherit from this basic class. 

Now ProtoTest memory usage goes down to less than 300MB:

![2d](https://cloud.githubusercontent.com/assets/2600379/5215766/c4778716-7665-11e4-8354-802152338122.png)

I just took a look at this file. Looks LiveRunner tests use ProtoGeometry.dll. E.g.,
```
public void TestDeltaExpressionFFI_01()
{
    ProtoScript.Runners.ILiveRunner liveRunner = new ProtoScript.Runners.LiveRunner();

    liveRunner.UpdateCmdLineInterpreter(@"import (""ProtoGeometry.dll"");");
    liveRunner.UpdateCmdLineInterpreter("p = Point.ByCoordinates(10,10,10);");
...
```