Add attributes

Adds the pseudo-component "Attributes" which provides a thread-safe
means for accessing and storing an entity's named properties in a shared
manner.

Also fixes bugs in the Enhancer and Modifier components and ensures they
are included.
Installer v3

Adds gem dependency fetching for the installer.
Improved terminal output, tracing

Improves the output of the terminal for the capture of JVM exceptions
and errors, and allows the Titania.trace() and Titania.split_line()
methods to correctly decode JVM exceptions and errors.

This commit also updates Titania.parse() to capture exceptions and
errors arising from the JVM in a safe manner.  They will be returned as
the result of the operation, as is the case with Ruby exceptions.