Suffix Remake and Unit Testing

This PR comes with a few new Technologies. Right now this is a mostly discussion PR and is not finished.

1. Nuget - It is the default package manager for the .net framework. It can be run on the command line or within Visual Studio and i hear SharpDevelop works with it too? It is possible to run the Nuget package manager in Linux, OSx, and Windows.

2. NUnit - An Opensource Test Runner and framework for unit tests
3. NSubstitute - A simple mocking tool for use with unit tests

All of these are used in the new kOS.Safe.Test project. It should only build in debug mode and it doesnt add anything to the release artifacts.
Is this distinction between AddGlobalSuffix and AddSuffix really needed - we can keep the kOS user from ever having more than one instance of ConstantValue by just having the built-in function CONST() just return a handle to the same static instance each time instead of newing up another one?