Add explicit ngRoute dependency

ngRoute needs to be specified as an explicit dependency starting with
Angular 1.2, and some of our Javascript files that use ngRoute weren't
declaring it. They were getting away with this because other Angular
modules, which happened to load before them, were declaring the
dependency, but when the unit tests run, this was failing. This commit
adds an explicit dependency to those modules that use ngRoute and hadn't
yet declared it.
Update Karma unit tests to new SF API

We haven't been keeping the unit tests up-to-date with the changes we've
been making to the ScriptureForge API over the past several months. This
commit brings the unit tests up-to-date, in particular updating the
values returned from the mock services to match the data that the real
services would return.
Update Karma configuration to Angular 1.2.15

Also update Angular-Karma integration files that come with Angular and
that we have in our test/lib directory, like angular-mocks.js.
Ignore files in node_modules/.bin

The node_modules/.bin directory is not cross-platform friendly (on
Linux, it contains symbolic links) and we shouldn't count on using it.
Instead, out helper scripts should load executables for "foo" from
node_modules/foo/bin/. As far as I am aware, we don't currently rely on
the .bin directory for any of our helper scripts, but if we do, this
change will cause them to break and they should be fixed to rely on the
appropriate foo/bin directory.

This commit also deletes the files (symlinks) in node_modules/.bin that
had previously been committed into our git repo, which would not have
worked correctly on Windows development hosts, and adds a line to the
repo's .gitignore file so that future .bin entries won't be committed.
Added Karma, PhantomJS, various Karma launchers

Instead of installing Karma, PhantomJS, etc. separarely on each
developer's machine, we will use the now-considered-best-practice
method of installing them "locally" (via "npm install foo" without
the -g option) and checking those installations into git. That way
we have a set of known-good versions that work with each other, and
if any future updates are needed, we can check in all the updates at
once as needed.
Set executable bit on Protractor executables

The executable bit had not been set on Protractor's two files in its
bin/ directory. Fixed now.