Added parsing of ISO formats i.e. "2012-12-19T12:12:12.00001"

Conflicts:

	src/ec_date.erl
Added dializer fix for new date format.

Conflicts:

	src/ec_date.erl
Another fix for spec messages.

Signed-off-by: Jordan Wilberding <diginux@gmail.com>
Fix for dializer error.

Conflicts:

	src/ec_date.erl
Added tests and validated parse->format->parse and nparse->format->nparse

Conflicts:

	src/ec_date.erl
Added more tests and fixed format string to be 24 hour vs 12 hour.

Signed-off-by: Jordan Wilberding <diginux@gmail.com>
Fix broken tests.

Signed-off-by: Jordan Wilberding <diginux@gmail.com>
Fixed type-o in .travis.yml

Signed-off-by: Jordan Wilberding <diginux@gmail.com>
Added support for ISO8601 Zulu and TZ time zone support. Remove hard coded version string in rebar.config.script for unit test pass. Remove dializer and edoc from default target to enable tests to run on Travis-ci

Signed-off-by: Jordan Wilberding <diginux@gmail.com>
Disambiguate parsing "Aug 12" and "12 Aug".

This started with just trying to parse the date format:

December 21st, 2013 7:00pm, which was failing with a bad_date error.

The solution involved setting up "Hinted Months", which was just a term
I used to indicate that a month was specified by name (ie "December"),
rather than by number (ie, "12"). Previously, named months were simply
replaced by their respective numbers in the parser.  This tags those
named months so that the parser will unambiguously parse them correctly.

A tagged "Hinted Month" is simply a tuple with the tag `?MONTH_TAG`. For
example: "December" gets converted to `{?MONTH_TAG, 12}`

For example: "Aug 12" and "12 Aug". It's clear to the *reader* what is
meant, but when converted to simply 8 and 12, the parser has no way of
knowing which is which.

Doing this was aided with the addition of some macros to help it
along, since doing just straight comparisons with the hinted months was
yielding unexpected results. For example: `{mon, 1} > 31`  returns
true, so changing that comparison to an ?is_year/1 macro that does:
`is_integer(Y) andalso Y > 31`.

It might not be a bad idea to help the parser be *very* unambiguous by
putting these macros on all comparisons.

Signed-off-by: Jordan Wilberding <diginux@gmail.com>
Add disambig tests, add disambig parsing date-only

Signed-off-by: Jordan Wilberding <diginux@gmail.com>
add file type discovery and resolution to ec_file
Merge pull request #35 from ericbmerritt/next

add file type discovery and resolution to ec_file
Merge remote-tracking branch 'canonical/next'