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.