Fix python3 issue

ValueErrors in python3 don't have a message attribute, so just dump
str(exception) instead
First pass README, creases can use non-bitstring format names

By providing a 'fmt' key along with the usual 'fold' and 'unfold',
creases can use names that are not valid bitstring formats.  For
example, both of the following are valid:

creases = {
    'uint:8': {'fold': int, 'unfold': str}
}

creases = {
    'block-type': {'fmt': 'uint:8', 'fold': int, 'unfold': str}
}

This allows a mix between name and format specification closer to a
tagging concept.  Note that name creases still win over these creases,
since they are still format creases (just not a built-in format).

Closes #6