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. 
our consistent style is that there is no space after if