Fixes for Time Type Formats

Time formats were incorrectly matching due to some issues with the rexeps.  Example:

{input: "2011", format: "D/M/YYYY"} would match incorrectly because the regex would be:
\d{1}|\d{2}\/\d{1}|\d{2}/\d{4}

That finds the first \d{1} and calls it a day, rather than looking over the whole regex.  Wrapping each element in parentheses fixes the issue.

I also added an explicit 'json' requirement to the Gemfile since it wasn't working with my newer version of rack.  It's in its own commit.