Make validate a private method of Constant

This means we now have an invariant with Constants - that any
Constant visible to the rest of the system (that is, with Constant.new)
is valid since validation is performed during init.
Merge pull request #1 from prophile/master

Privatise constant validation