Replace Override.simple with Override.create

This pull request:
1) Renames Override.simple to Override.create
2) Adds support for the missing features that the override functions needed (returning longs and using the context).
3) Ports all the override functions to use Override.create
This happens to still work, but *Override.simple* was designed to convert `true` and `false` boolean return values into `1`s and `0`s, so we should convert these values to booleans in this process.