split out the preparation tasks from 'clean-finish'

this way they can be called separately
additionally make test has more dependencies so the following
sequence of commands will work:
bundle install;npm install;make prepare-submodules;make test
update travis to use prepare-submodules