Changes for .NET on Windows

- Implementation of platform specific code
- Basic dependency injection via configuration file
- Calling libjack
Cleaning up

- unnecessary usings
- correct copyright for all files
- readonly fields where appropriate