Rewrite Time.new_with_mock_time to not use exceptions as control flow

I've rewritten Time.new_with_mock_time to not use exceptions as control flow because exceptions are slow in jruby.  This change speeds up tests in jruby by 20% .  

One thing I wasn't sure about is whether you intended to also catch ArgumentError from the call to new_without_mock_time.  I assumed you did not.