Fixes #3881: pin locale to 2.0.9 or lower
fixes #3882 - Revert "fixes #3855 - pin ruby-libvirt to 0.4 for Ruby 1.8 workaround"

This reverts commit c6d5131967fdb5ada9956fb9e83079db10ab1c29.
fixes #3885 - sort IDs in test to prevent random failures
fixes #3693 - API v2 - accept GET json format of object in PUT/POST requests to add/remove has_many associations
fixes #3339 - nested fact support, allow fact importers to be registered by plugins
refs #3571 - add filter for notice level in report
fixes #1431 - use boardproductname as model fallback if productname or model fact don't exist
fixes #3280 - authenticate returns true for API requests when login:false
fixes #2374 - added allocation option to libvirt VM
fixed #3905 - wrong route in apidoc for reports delete (API v2)
Fixes 3872: Provides a better customizable application layout that
conforms to HTML5 best practices.

This change aims to provide a more customizable application layout by first
splitting the base layout, menu and content out into their own view files.
The base layout provides generic hooks and only the most basic common data
such as application javascript, stylesheets, inclusion of the menu and auth
token. Javascript inclusion is moved to the bottom of the page for page
loading efficiency. Further, all inline scripts are placed into the same
tag for browser loading efficiency. Stylesheet and generic head hooks are
split out for better readability. Lastly, this includes some updates to the
overall layout by including current HTML5 best practices for detecting and
declaring the doctype for polyfills and proper meta tags.
Merge branch 'fixes-3872' of git://github.com/ehelms/foreman into ehelms-fixes-3872