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 situation when ci_to_datacenter meets nil.

https://bugzilla.redhat.com/show_bug.cgi?id=1132556
Uncaught Exception dispalys error screen in CFME UI

https://bugzilla.redhat.com/show_bug.cgi?id=1133747

When the user enters an invalid,incomplete path in simulation
during parsing we get the Ruby URI::InvalidURIError. Caught this error
and converted it to MiqAeException::InvalidPathFormat
The Simuation UI code only catches this exception and throws up the
error window for others.
Force binary in an expectation since UTF-8 is the default in ruby 2.0.

When reading ruby file contents, ruby 2+ encodes any Strings as UTF-8.
We have to force the encoding since WimParser returns either Fixnums or ASCII-8BIT Strings.

See: https://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/
Fixed typo in a comment.
Remove automation_base.xml and update all of the automation specs.
Converted image-based form buttons to Patternfly btn class buttons
converted tabs to spaces, aligned hash rockets, adjusted formatting
Deleted unused image-based form buttons