(SERVER-153) Separate unit tests from integration tests

This commit is just some preparation for some larger forthcoming
changes.

The idea is that there are some things that we can start testing
in pure clojure that are more at the integration level than the
unit level.  e.g., we can start doing some tests around catalog
requests based on manifests and other files on disk.

This kind of testing should be *significantly* less expensive
(both in terms of development / maintenance and in terms of
execution times) than the existing beaker-style acceptance tests,
but significantly *more* expensive than what you might normally
think of as a clojure unit test.

Using lein's `test-selectors` feature, it is possible to flag
some tests as 'unit' tests and some tests as 'integration' tests.
This commit is a first step towards breaking up our tests into
two groups like this.  It does the following:

* Change our `test-paths` setting from the default (`["test"]`) to
  explicitly specify separate directories for unit/integration:
  `["test/unit", "test/integration"]`.

* Move all existing tests to `unit`, except for the `bootstrap` test,
  which is moved to `integration` (in preparation for fleshing it
  out a bit further in a subsequent commit.)

* Set up the default test profile (e.g., what happens when you run
  `lein test`) to be ':unit'.  Integration tests can be run in
  isolation via `lein test :integration`, and all tests can be run
  in a single run via `lein test :all`.

* Update travis script to run `:all`.
Is there any reason that the default isn't `:all`? What happens if we call out the `:all` test selector on a project that doesn't have it defined?

In the future i'd like behavior to be synchronized between various clojure projects with respect to the way unit tests are called. If requiring the `:all` selector is a convention you'd like to establish for clojure projects, that should probably be discussed and documented somewhere.