Adds select_runnable decorator to api

The select_runnable decorator allows the user to pick which runnable is
run for each type of file validator. This means that you can run
JavaScript unit tests when '.js' files are modified and Python tests
when you edit a '.py' file.