refactor developer materials. Fixes DEVELOPER-989

Most of this is moving code around to their own functions, introduced the option to update the page hash or not. 
new format function that takes care of the templating and embedding into the DOM