Passing allowAutoDispose into all constructors

All methods in Sodium.net now have overloads that are passed into object
constructors indicated whether they can be auto disposed when the holder
of a reference to the object calls AutoDispose on it.

Anything with allowAutoDispose set to false will not be disposed of
internally by Sodium.net and must be released by external callers.