Add function decode_number()

This is just an idea about how to retrieve meaningful strings for format
codes etc.

Most likely there are much better methods!
Change handling of formats (again)
Proper handling of dtype's
read(): pass dtype to read(), the rest to open()