take advantage of caching and docker on travis