updated documentation
added separate thread to deal with rotation
fixed method to respect stated contract of rotateAsNecessary()
handling URL hash
added logging
adjusting url hash
now tracking Stat in observer manager; populating last updated timestamp value
sorting metrics alpha order