Refactor and SDK Prep

- carlcraigs refactor PR has been pulled in.
- reverted callbackset

- SDK Prep: This can be used by CSE to create the entire SDK tree that
it can ship as its SDK.
- The SDK is only prepped under "Release".
- Grunt does not support SDK prep, nor does it need to for now. I'm
assuming CSE will use VS to build the SDK.
- Uses a new MSBuild task. The DLL and the csproj are included.