Fixed an error where SectionNav and DetailViewer had dynamic children without keys.
Rewrote underlying structure of webapp (CSS, view nesting, etc).

- Icons now use more semantic property names, and have a propTypes attribute.
	- Icon badges are set with the badgeStyle and badgeContent attribute.
	- Changed LESS for Icons to position and scale the badges relative to the size and positioning of the Icon.
- All primary views have had <div> changed to <main> in both the JSX and the LESS. This is more semantic, and easier to style
- Removed all module display logic and functionality from FreeNASWebApp
	- Modules now exist in their own files and manage their own state
- Added dummy component for right sidebar
- Refactored Notification Boxes
	- All boxes now inherit from the same component class and take data the same way
	- More semantic naming
	- State is now managed by NotificationBar and handed down to boxes as props
	- Refactored LESS to remove magic numbers
- Refactored PrimaryNavigation menu
	- Now manages its own state, and works with flex box to dynamically resize content.
- Removed non-structural styles from structure.less
- Added Flexbox helper functions to utility.less
- Began modifying variables file, added golden angle variable