Nanosecond fix

The main goal here was to keep nanoseconds when using ActiveSupport. Turns out there was an issue with ActiveSupport (https://github.com/rails/rails/pull/9403) that is the real cause. I've ported that workaround into Timecop for now.

Also added some tests and did a little refactor on TimeStackItem#parse_time. I'm not sure that the Timecop.active_support config variable is necessary now at all, but I didn't want to totally pull it out since I wasn't sure about the use case.

If you'd like to only take part of these changes, or want the commits squashed, let me know and I'll tweak it.