Update v2 api for products controller and routes

Changes also include:
- fix spelling and rubocop offences
- add more tests and modify existing tests to work with product
  params nested Hash
- refactoring and DRYing up the code
- make search work
- refactoring to extract filtering into protected methods.
  this shortens and clarifies what is going on in the
  index action.

Conflicts:
	app/controllers/katello/api/v2/products_controller.rb
	config/routes/api/v2.rb
Fix rubocop offence
Fix providers routes, tests, and clean up merge
Whitespace changes to before_filter
Remove duplicate actions in providers controller
Fix failing create product test