Removed parameterized Type in Valuable interface.
Fixed warnings in Name.
Reworked so that less converting between Value and Valuable is needed.
Renamed DecimalValue, IntegerValue, and StringValue's create(...)
methods to from(...) for clarity.
Updated requiredValueTypes.
Added DateTime class and updated Name requirements to match.
Added nullablilty checks.
Added Javadoc for Name.validate(...) method.
Created helper methods in Guid to make the validation process more
clear.
Implemented hashCode and equals for Value.
Updated Value Javadocs.
Another update to Value Javadoc.
Moved previous two updates to Value's Javadoc onto Valuable's Javadoc
for the intended effect.
Rearranged package structure for clarity.