Minor local/param variable renaming for clarity
Minor spelling typo fixed
Minor reformatting for readability
Fix to issue #41 and treatment of whitespace

Issue #41 brought up a few related histortic issues with regards to treatment
of whitespace when building the JQTI+ model from XML. This commit makes a few
changes to this, as well as the Attribute API in order to fix the underlying
issue in a reasonably way.

Whitespace handling changes:

* Attribute value parsing no longer trims the string.
* Parsing of baseValue from strings no longer trims the string by default.
* Instead of these, there's a new BaseType.parseSingleValueLax() that trims leading/trailing whitespace from the input string only if it is safe to do so, i.e. for non-STRING baseTypes. Calls to BaseType.parseSingleValue() have been refactored to use this where appropriate.

Changes to Attribute API:

* Attribute.Attribute loading is now done inside AttributeList
* Attribute.parseQtiString() has been renamed as parseDomAttributeValue() to reflect its actual usage
* Attribute.valueToQtiString() renamed as toDomAttributeValue()
* Attribute.defaultValueToQtiString() has been removed

Changes to Value hierarchy to fix #41:

* SingleValue is no longer hard-coded to return true for isNull()
* StringValue now returns true for isNull() if the value is an empty string
* (Moved DateFormat stuff into DataTypeBinder for consistency)
Merge remote-tracking branch 'origin/master'