Merging reef-bridge into master

This includes all CPP code and bridge framework we built for .NET interop. 

Note that msbuild is required to build the .NET/CPP part of reef-breidge project. However, that will only be triggered when -PBridge profile option is used. Normal mvn build will simply skip the .NET/CPP codes. 
no. but this is the code in master, and i would rather not change code in master in the PR if possible... we can do this later.