Dynamic navigation menu

Adds a dynamic, responsive, CSS-only navigation menu.

### Dynamic-ness:
Each NavigationHeading record results in a top-level menu item. NavigationHeading records can be created and customized via ActiveAdmin. If a 'url' value is set, the menu item becomes clickable and links to that url. Display order can be set via the 'display_order' attribute.

Pages and Electoral Races can now be associated to a NavigationHeading via a drop down select field in ActiveAdmin. Associated records with display as a link in a sub-naviation menu under related top-level menu item.

### Responsive-ness
On devices with viewport width 640px and above, menu will display in Desktop mode with navigation links arranged horizontally, displaying sub-navigation drop downs on hover or single tap for touchscreen devices.

On devices with viewport width of 639px and below, menu will display in Mobile mode with navigation links hidden by default. A floating 'hamburger' toggle button triggers the menu to slide over the screen from the left side, displaying each top-level menu item in a vertical list. Menu items with sub-navs will display an arrow icon and will display subnav when touched.

### Compatibility
I have tested this on the current Windows and OSX versions of Chrome, Firefox, Safari, and Internet Explorer. I have also tested on iPhone, iPad, and Android phone and tablet devices. Screen casts of these tests are attached to the Trello card.

### Live Demo
I have temporarily deployed this to http://107.170.153.40/.

### Trello
Trello card: https://trello.com/c/h5Ic102h