Issue 7: Replace Enforce.argumentNotNull with assertions

This one is more optional/controversial but it is a reasonable improvement and most likely closer to the original intent of the utilization of Enforce in the C# implementation.