Added documentation.

This adds documentation for the library, changes the file format of LICENSE for consistency, and adds an implementation of Error for the library's Error type.