The best practice is to keep this file in gitignore for libraries and in
repo for applications.
Committing Cargo.lock makes the builds much more reproducible.
This commit:
- replaces the walk_dir util function with the walkdir crate to avoid
some inconveniences
- adds regression/integration tests that run over a set of fixtures and
compare them to a desired output
- moves the example/ folder into tests/fixtures to create an initial
testing fixture
- improves the travis configuration e.g. to test and collect code coverage