Merge branch 'develop'
Make all nuget references private(copy local.
Fix incorrect code contract.
Add missing documentation comments.
Get things to a sane state with code contracts.