Fixed perms. of some methods; cleanup

Some generate_one was public where it should have been proteceted,
etc. Removed redundant/obsolete code in Column, ForeignColumn,
and WordGenerator.
Cleaned up from_spec API, added tests for it

Column.from_spec() now requires that its third argument
be an Array of arguments passed to the Generator, even
if it is an empty Array. The fourth agument is a Hash
of options for from_spec().