Merge pull request #47 from AdaptiveConsulting/csharp

[C#] Improved build process to create a NuGet package
[C++]: removed reference and usage of Cpp99.
Removed reference and usage of C++99 and more cleanup. Fix #50.
[C++]: performance enhancements. Dramatically reduced virtual call overhead. Trimmed base classes. Reworked repeating groups.
[Java]: Optimised code generation to remove invoke interface calls.
[Java]: Tidy up use of final qualifiers.
[C++]: removed base classes for generated classes. Updated SBE IR generated Java and C++ classes.
[Java]: Use positional arguments in formatting of message class.
Merge remote-tracking branch 'origin/master'
[Java]: whitespace formatting.
[C#] Remove interfaces and virtual calls