Tweak __get and __set metamethods.

__get and __get have been moved to the bottom of their respective indexer in order to keep in line with the philosophy that metamethods are only a fallback.
This also removes a performance concern, as __get and __set would previously be triggered any time the MondValue indexer was accessed for an object value.
Also has the side-effect of disallowing the use of __get and __set on any non-object prototypes to prevent circumventing of type checking in C# code.