add api and docs
make use of dialyzer, typer and doc generation
added generated stuff to gitignore
added travis config