First stab at site

Note that form error handling still needs to be implemented. Need to
figure out how to do that in a nice way so that file downloads still
work.