Allow longs to be returned by the create_number method

Because we can now overwrite the default behaviour of the numbercache to return different/larger numbers, the assert on it needing to be an int does not make sense.

Upgraded to allow longs as well.