Common "public facing" components

Things such as:

* Navigation bar (including logged out and logged in states)
* Footer

This should cover everything in #49.
Probably should use another name like PublicNavigationBar because we already have the component NavBar and it will be confusing to know which one is which