Fixes #112 and #117 in a backwards compatible manner

Added a class `AttributeValue` that is a subclass of `String` so that for all current usage, the last attribute value is still returned **as string**.

But when needed, `AttributeValue#values` will return an array of all values. This fixes both #112 and #117

As current implementation returns **last** value as seen from XML, this patch returns attributes in reverse order when compared to XML to retain compatibility with specs for other libraries.