add mock to the test-requirements

also move pyhamcrest from requirements.txt to test-requirements.txt
fix .travis.yml to use test-requirements.txt
add a .gitignore file