Refactoring wait-and-reload! to expose some of its components.

wait-and-reload! blocks the current thread and waits for changes. This
is useful, but makes it hard to kill the process without killing the
whole session. By exposing the pieces, we get better-factored code and
open up the possibility of polling for changes in different ways, that
are easier to pause/kill. For example, a core.async go-loop.
split scanning for new files into own function

not a big fan of boolean arguments that greatly alter
a functions purpose.
Merge branch 'krisajenkins-master'

* krisajenkins-master:
  split scanning for new files into own function
  Refactoring wait-and-reload! to expose some of its components.
bump version

poor attempt at a description what modules are good for.