caching is now triggered via url request (/update/), not when user loads a graph. graph urls now only retrieve preconstructed json objects, they do not query the measurement tables