Added clauses to truncate null-values and integers correctly.
You get these with the postgres-adapter from boss_db.

Error messages are:
{function_clause,
    [{erlydtl_filters,truncatewords,
         [1800,8,[]],
         [{file,"src/erlydtl_filters.erl"},{line,994}]},
    ...

and
function_clause,
    [{erlydtl_filters,truncatewords,
         [null,8,[]],
         [{file,"src/erlydtl_filters.erl"},{line,994}]},
    ...
Added filter date_unix_epoch that displays unix time in seconds since 1-1-1970.
Added clauses to display 'undefined' for date and floatformat when input is undefined. This prevents an rendering error.
remove exec flag on source files.
Add `scanner_module` as compiler option.
Check OS environment for additional compiler options.

Any options found in the "ERLYDTL_COMPILER_OPTIONS" env variable will
be appended to the options passed to erlydtl.

For instance, to use this to run the test suite with a non-default scanner::

  $ ERLYDTL_COMPILER_OPTIONS={scanner_module,erlydtl_new_scanner} make test
Switch to new slex based scanner.
Fix erlydtl_scanner.slex due to syntax updates.
Merge pull request #97 from erlydtl/pu-slex-scanner

Switch to new slex based scanner.
Regenerate erlydtl_scanner.erl to get the new generated comments.
Add failing test for issue #31.
Give proper error message on badly placed extends tag.

Fixes #31. Related to #85, #60.

The extends tag really should be the very first thing in the template.
Add unit test for missing dict lookup. (#4)
Support for empty values in yesno filter

The previous implementation was over specified and didn't support empty
strings as yesno options.

This implementation uses binary:split/3, which is as efficient as
string:tokens/2 but returns empty tokens.

See https://github.com/gar1t/erlang-bench/blob/master/comma-parse.escript for
details on parsing implementations.

This commit removes the odd conversion of Bool to a list, which was never
used in yesno_io.

This change returns a *binary* value, which may be contrary to the spirit
of the template implementation. If this is the case, the the result can be
easily converted to a list (a seeming waste of cycles, but perhaps there's
a good reason for it).
Use yesno filter with lists and binaries

This comes by default with Python as empty lists evaluate to false. It's
explicitly implemented as a term_to_bool function in filters.
Add more unit tests for filter yesno.

Also refactored yesno_io/2 a bit.

Fixes #72.
Add support for expected failures in unittests.

Test failure for yesno filter on bad arguments.
force_escape should work in iolists.

Fixes #70.
Give proper error message on unknown filters.

Related to #41 and #85.
Improve floatformat.

Fixes #41, #53.
Fix urlencode filter, with support for safe characters in the argument.

Fixes #82.