Remove required keyword args to support Ruby 2.0.x

This is not duplicate of #2267.

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Merge pull request #2273 from marutosi/finn/release/4.0/ruby2.0

Remove required keyword args to support Ruby 2.0.x
removes n+1 query for custom_values on wp#index
move some controller logic into a decorator

This is by no means clean yet, but better than it was before.
eager loading of required columns - too many for now
only load required columns
remove unnecessary block
shortens sorting
moves custom field detection to own method
refactor column handling into own method
moves methods into module
code harmonization
improve handling of desired columns
Merge pull request #2265 from opf/fix/work_package_index_performance
Merge branch 'release/4.0' into dev

Conflicts:
	app/controllers/api/experimental/concerns/column_data.rb
	app/controllers/api/experimental/work_packages_controller.rb
	app/models/work_package.rb
	lib/api/v3/categories/categories_api.rb
	lib/api/v3/categories/category_collection_representer.rb
	lib/api/v3/versions/version_collection_representer.rb
	lib/api/v3/versions/versions_api.rb
	spec/lib/api/v3/categories/category_collection_representer_spec.rb
	spec/lib/api/v3/versions/version_collection_representer_spec.rb
	spec/views/api/experimental/work_packages/index_api_json_spec.rb
fix custom field column name validity evaluation
fixes showing version cf in wp table
links user and version cf on wp table
Merge pull request #2276 from opf/fix/version_cf_in_wp_list
add missing angular non bindable