Use zone to organize the code.

Added some extension to support array keys.
Support getKeyRange and getKeySet