Fix enumeration bug, tweaks

Enum types couldn't be created after the initial call to `enumeration`.
The resulting types didn't have the proper `__order__` meta attribute.

Added `use strict`, couple of minor tweaks.
Added test case for using  on enums.
Version bump to 0.5.0