Finish implementing MondValue.

The class relies mostly on templates to allow for as close of an approximation of implicit casts to MondValue as possible, since D has no direct equivalent of C#'s implicit operator overloads.

* Added enumerable code.
* Exposing the UserData pointer.