Round out a bunch of functionality for generating statements

* Includes initialization and asVersion methods for a bunch of
  sub-objects
* Improve handling of specific settings for 0.90
Switch to new callback args/return results in LRS

* Makes it easier to do error detection and standardizes return
 structure, etc.
updates to fix var instantiation bugs
Allow use of correct relative URLs for 'more' URL in statement query results. Also maintain support for 'more' URLs relative to endpoint.
Change 0.90 to 0.9
Work with relative 'more' URLs that do not start with slash
Allow null values of Agent inverse functional identifiers
tidy bracing and remove unneeded code

See pull request discussion.
tidy tabbing.
explicitly check for !== null rather than truthy
Remove closure-compiler
Introduce ActivityProfile object
Start to handle concurrency as defined in spec

* Introduce cryptoJS in vendor/ provide SHA1 string method
* Adjust ActivityProfile and State objects to get an etag
* Populate etag on retrieval of State/ActivityProfile
* Set If-Matches header when passed an etag
Bug fix, doc fix
Fix output of correctResponsesPattern
updates and fixes found while working on a project that depends on this one. Date formatting, IE param values, agent activity object, others and etc.
Fix for getResponseHeader in IE
Various changes related to IE and extended property use in LRS

* Also protect JSON call in StatementsResult others need to be done too
Version bump, build, and doc build
updates to revert now unneeded changes, etc.