Added format, which represents what format is being requested, which uses the format param if it exists, then checks Accept header and finally uses html as the default.  Only supports json in the accept header for now.