Bastion - Initial work creating engine to hold new UI assets.

This commit introduces the idea of an inline engine dedicated to
UI components. The first component moved is the Systems and Nutupane
implementations. In time this engine will serve as the place where
new UI goes or re-factorings get moved to. Ultimately, the entire UI
portion should be contained within this engine.
Bastion - Adding test infrastructure for engine JavaScript via Karma.

The Karma test runner is built and designed for testing cross-browser
JavaScript and making integration with AngularJS easier. This adds
a Karma configuration file and includes NPM package and Bower component
definitions to load up components in a predictable location for testing.
This is necessary in order for the testing infrastructure to predictably
locate the necessary assets. The tests can be run via 'karma start' and
'karma run'. A gem based test runner such as 'jasmine-rails' was not used
due to restrictions imposed by it's usage and tight coupling with the asset
pipeline and Rails.
Bastion - Adding travis configuration script.
Bastion - Moving assets to be organized by feature.

Due to the number of feature entities, and size of supporting assets,
the javascript in bastion has been re-organized to be based on feature
and rooted at app/assets/bastion. For example, systems lives at
app/assets/bastion/systems and contains the Javscript and views
directory.
Bastion: adding Gruntfile with karma unit testing.
Merge pull request #2449 from waldenraines/bastion

Bastion: adding Gruntfile with karma unit testing.
Bastion: Removing alchemy-tables for stripped down approach to be re-factored later.

Changing requirements and need to customize the data more reliably on nutupane
has drove us to pulling back from a pull fledged table implementation built in
just the JavaScript. The intent here is to establish a baseline build out of the
Nutupane interaction and structure and re-factor into a re-usable component later
once all design requirements have been addressed. This only supports infinite scroll,
search, selection and providing a full page table.

Adds an incubator folder to store components that could be pulled out into a re-usable
component at a future date.
Bastion: adding jshint to bastion and fixing non-nutupane files.
Bastion: Adding old tupane values as display columns.
Merge pull request #2454 from waldenraines/bastion

Bastion: adding jshint Grunt task and fixing non-nutupane jshint errors.
Bastion: Adding HTML5 boilerplate based base template.

Adds the current HTML5 boilerplate as the base template and adjusts
the styling to accomodate this base layout change. This change is intended
to be as close to current HTML5 best practices as possible and provide
the initial full-page width for nutupane.

Adds a hook from the system model that the consumer modules in the glue
layer can hook in to and add information to the json structure from.
Merge pull request #2455 from ehelms/bastion

Bastion: Removing alchemy-tables for stripped down approach to be re-fac...
Merge branch 'nutupane-bulk-actions' of github.com:Katello/katello into bastion

Conflicts:
	app/assets/javascripts/common/experimental/index.js
	app/assets/javascripts/systems/systems.controller.js
	app/views/common/_config_experimental.html.haml
	app/views/systems/index_nutupane.html.haml
	engines/bastion/app/assets/bastion/components/nutupane.factory.js
Bastion: Removing moved files leftover from merge.
Merge pull request #2462 from ehelms/bastion-merge

Merge remote-tracking branch 'katello/nutupane-bulk-actions' into bastio...
Bastion: re-enable jshint and fix jshint errors.
Merge pull request #2473 from waldenraines/bastion-jshint

Bastion: re-enable jshint and fix jshint errors.
Bastion: moving over org switcher and adding tests.
Merge pull request #2463 from waldenraines/bastion

Bastion: moving over org switcher and adding tests.
Bastion: moving over menu and writing tests.