Make the ro_dir object an instance variable.

Means we can call methods on it directly.
Add File#aggregate? to test if an entry is aggregated.
Improve Util.is_absolute_uri?().

Now handles actual URI objects being passed in.
Mangle aggregate paths when building an Aggregate.

Add a leading / if required rather than rely on external code to do so.
Enable adding URI aggregates.
Handle URIs in File#aggregate?().
Override File#find_entry() to cope with URIs.

Aggregated resources can be URIs so need to handle them.
Add URI aggregation tests.
Remove wayward extra empty line.
Add File#annotation? to test registered annotations.
Add File#annotatable?().

This method checks if something can be annotated.
Add support for adding annotations to the manifest.

Raises an error if the target of the annotation is not an annotatable resource.
Keep an internal manifest reference in RODir.

Useful for manifest operations directly from RODir.
Add AnnotationsDir managed directory to RODir.
Add File#add_annotation.

Adds write support for annotation bodies to the RODir class.