Improves annotation support (#161) * Improves annotation support Closes #150. Improves toString to cover all primitive types and annotation attributes. Also adds support for: * Default value reflection * hashCode/equals on annotations * nested annotations * Ignoring missing annotations (which is what the JVM does) * Reverts unrelated format change