Fix time_zone_options_for_select to not mutate TimeZones array

Previous implementation of time_zone_options_for_select did not dup the
ActiveSupport::TimeZone.all array.  When :priority_zones were provided
the method would reject! the zones from the memoized TimeZones array
thus affecting future requests to the server.  Essentially whatever
zones were specified as :priority_zones would show up for the first
request but then disappear from the time zone options on future
requests.
Merge pull request #9330 from bdmac/time_zone_select_dup

Fix time_zone_options_for_select to not mutate TimeZones array
descriptive error message when AR adapter was not found. Closes #7313.
Merge pull request #8060 from senny/7313_descriptive_error_message_for_missing_adapter

descriptive error message when AR adapter was not found. Closes #7313