Update to use a development version of UCF.
Use the ZipContainer::ZipError in examples and tests.

We hid the rubyzip errors for a reason.
Fixup the example scripts' licence comments.
Use "self" for the File class methods and fix docs.

"self" is more robust to refactoring.
Read the id from the manifest.
Set .ro and .ro/manifest.json to be required entries.
Properly detect missing manifest during creation.
Simple validation of the manifest file.

Just checks for valid JSON at the moment.
Read createdOn and authoredOn info from the manifest.
Add a class to represent an Agent in an RO.
Read createdBy and authoredBy from the manifest.

Return the Agent and list of Agents, respectively.
Move the .ro directory code to a sub-directory.

Just a bit cleaner as there will lots of other stuff added soon.
Move the manifest class to its own file.
Document the RODir and Manifest classes.
Move operations on the manifest data into the manifest class.

The file class now forwards these calls directly to the manifest object that it
contains.
Harden getting a missing time from the manifest.

Now won't fail on an empty string.
Harden getting the id from the manifest.
Harden getting the creator and author list.

Now return sensible defaults.
Get the list of history files from the manifest.
Ensure that an Agent always has a name.

Even if it is empty ("").