Upgrade binary_struct to 2.0
Implement internal state machine with no transaction required

https://bugzilla.redhat.com/show_bug.cgi?id=1089061
Prevent blank Storage Manger names.

It currently allows to pass a nil name of the storage manager, effectively making the 'show' view not-working because of trying to use `+' method on nil. This commit rectifies this issue by enabling name presence check in the model.

https://bugzilla.redhat.com/show_bug.cgi?id=1129718
Create ApplicationController::Filter#process_datetime_selector

Code deduplication (DRY)
Create ApplicationController::Filter#process_datetime_selector

Simplified character extraction from a string.
Create ApplicationController::Filter#process_datetime_selector

Explicitly declare this new method as private.
Create ApplicationController::Filter#process_datetime_selector

Simplified boolean logic around time_suffix computation.
Create ApplicationController::Filter#process_datetime_selector

Use new variable exp in place of @edit[@expkey]
Create ApplicationController::Filter#process_datetime_selector

Computed exp_value_key and defaulted exp_key to nil.
Create ApplicationController::Filter#process_datetime_selector

Compute value_key, instead of passing it as parameter.
Simplified ApplicationController::Filter#process_datetime_selector method
Handle AR exceptions when a new Catalog item is created

A call to create_request might lead to AR exceptions in the model that
need to be rescued and passed on to the controller.

https://bugzilla.redhat.com/show_bug.cgi?id=1095457
Created a provision request cancel message to replace the generic "Add a new ____ cancelled by the user" message used by the prov_edit method in miq_request_methods.rb

New provision cancel message will be displayed after the cancellation of a host provision or vm provision.

https://bugzilla.redhat.com/show_bug.cgi?id=1114143
Fix error display w/o session.

Fix display of errors w/o a valid session by:
  * wrapping @css[:background_color] into css_background_color,
  * adding rescue to role_allows.
Fix: session[:last_trans_time] was not set.

session[:last_trans_time] is not set in the login request but later.
We need to anticipate this in the PrivilegeCheckerService.
Add tests for referer checking on requests.
Refactor and cleanup validate_user in DashboardController.
Simplify set_user_time_zone.
Simplify ie8_safe_redirect calls.
RBAC: refactor and remove fallback.