Fix test task file listing
Add module accessor for assigning/reading a new table

Allows any gem users to specify a new table to be used without having
to redefine the TABLE constant. New tables must have exactly 32 unique
bytes and will be rejected otherwise with an ArgumentError.

The TABLE constant is used if no new table has been assigned,
preserving backwards compatibility. The default TABLE string has been
frozen to avoid in-place modification.
Use Base32.table in encode/decode/random methods

Ensures that encode, decode, and random will utilize the correct table.
Check new table regular length as well as uniq length

The case exists where there may be more than 32 characters in the table
but still have exactly 32 unique characters. Verify the actual and
unique lengths are 32 bytes for newly assigned tables.
Merge pull request #3 from localshred/master

Support user-defined Tables