Add a memory profiling tool

Add a simply memory profiling tool which will start a remote process and use .net performance counter to collect managed heap size of the remote process. When the remote process exists, it prints out average managed heap size. I'll use this tool to do memory profiling for mark and sweep garbage collection. 

Example: ``memlog.exe nunit-console.exe prototest.dll``, which runs nunit-console and logs average memory usage.

@lukechurch  for review.