populate Katello.config.katello_version instead of it being nil

note: every ruby page on the internet that talks about global variables
says to use `$CHILD_STATUS` instead of `$?`, but `$CHILD_STATUS` always
came up as `nil` for me whereas `$?` correctly returned a `Process`
object.
Properly namespaces all assets under either bastion/ or katello/ in
order to follow Rails best practices and allow namespaced asset symlinking
when deploying Katello. Includes spec updates to deploy assets via symlink
to the Foreman assets directory.
Merge pull request #3546 from komidore64/version-display

populate Katello.config.katello_version instead of it being nil
Merge pull request #3582 from ehelms/asset-compile-deployment

Asset updates for deployment.
Update v2 api for products controller and routes

These changes include:

- Fixes typos and rubocop offences
- Add more tests and modify existing tests to work with strong_params
- Refactoring and DRY up the code
- Make search work
- Refactor to extract filtering into methods
- Minor change in SystemGroupsController to reuse from base controller
- Fix providers routes, tests, and clean up merge
- Whitespace changes to before_filter in providers controller
- Remove duplicate actions in providers controller
- Fix failing create product test
- Make refresh_manifest send the correct status code

Conflicts:
	app/controllers/katello/api/v2/products_controller.rb
	config/routes/api/v2.rb