Update `.gitignore`

Ignore the node, bower, and build directories as these shouldn't get
checked in.

Remove all the other ignores as they should be ignored in a "global
ignore" on your machine. This local `.gitignore` is for ignoring
project-specific files and directories.
Add Karma as a devDependency

Karma is a unit test runner.
Set up `npm test` to run Karma for CI.
Add Bower configuration

Get Bower to install components in `bower_components` in preparation for
this becoming the new default installation directiory.
Add Karma configuration

Let Karma know the location of all the library code and test specs.

The `test-main.js` file is the RequireJS config for Karma and is used to
filter the test files from all the files Karma knows about.
Rename 'test/tests' to 'test/spec'

Switch to this common convention; tests are now passing through Karma.
Remove old test library code

None of this is needed anymore, as Karma takes care of generating the
spec runner and wiring up all the library code.
Update Makefile's `test` task

Run the Karma command.
Update Travis CI configuration

* Get Travis CI to run the tests using Node.js 0.8 and 0.10.

* Remove redundant `npm install` as Travis does this before every job.

* Have Travis install Bower and Flight's client-side dependencies before
  each job. We're actually testing against the versions specified in the
  `bower.json` now.
Update package.json details

Move `loadbuilder` into the `devDependencies` hash; update the version
number.
Update Flight docs and contribution guidelines

* Fix contribution guidelines so that they have Pull Request steps, and
  provide details on the dev setup required.

* Small fixes to the README
Merge pull request #114 from twitter/dev/karma-runner

Switch test setup to Karma
Merge branch 'master' of https://github.com/twitter/flight into base_refactor