Merge pull request #44 from cmr/master

Update for String::push_char rename
(refactor) Preliminary cleanup and comments.
(refactor) Change the grammar for custom format strings and simplify the parser.

In preparation for further refactors, the parser of a format string
has been moved to a new FormatParser struct and much of the parsing
logic has been simplified and consolidated.

Additionally, the grammar of the format string has been changed
to close attribute applications with a single `@` rather than `@@`
as this allows the parser to be unambiguous with only single
lookahead.
(refactor) Use Errors instead of printing on failure.
(fix) Use the new format for format strings.
(chore) Simplify travis.
(chore) Remove unused dependencies.
(fix) Error::erase was removed due to new trait object safety rules.
(fix) Calculate exit_time immediately.
(docs) Format.
(refactor) Formatting.
Merge pull request #1 from zzmp/refactor/rewrite

Refactor/rewrite
(docs) Fix markdown lists.
Merge pull request #46 from reem/refactor/rewrite

Full Refactor
Merge pull request #49 from zzmp/docs/markdown-lists

(docs) Fix markdown lists.
(fix) Fix for typemap changes.
Merge pull request #50 from reem/fix/deprecations

(fix) Fix for typemap changes.