Adding a test spec file for templates
Added descriptions to karma file conf
Fetch templates with $http, run init() after

getTemplate() now return a promise. It is immediately resolved if the
template is local. If it is remote, the promise is resolved after the
template is fetched and put into the cache.  Also the $http request is
cached in $templateCache as well, so the same template should only be
fetched once no matter now many grids use it.

New function self.initTemplates(), calls getTemplate() for each of the template
types. Returns a promise via $q.all() that bundles all the getTemplate()
promises.

self.init() now returns a promise and defers execution until after
initTemplates() completes.
Wait for grid.init() to complete, then continue

grid.init() is now called here, not in src/classes/grid.js. It returns a
promise which delays the execution until everything is ready (templates,
and whatever else init() does).
Adding express webserver for testing templates

A bug with external templating occurs when the template comes back AFTER
the data is ready to be drawn in the grid.  This script uses express to
delay serving the grid template for a couple hundred milliseconds.
Adding express to devDependencies
Adding files for testing external templates

There is a bug with external templating where if the template comes back
AFTER asynchronously loaded data is ready, an "$apply/$digest is already
executing" error will occur. This test will demonstrate that in tag 2.0.4
if you access it via scripts/server.js
Removing commented out old code
WIP: getting ready to add tests
Using angular-seed's scripts/web-server.js
Using angular-seed's angular-scenario.js
Updating to angular v1.0.6 so karma works
Changed angular ref from 1.1.3 to 1.0.6

Karma wasn't working with 1.1.3
Making e2e config same as angular-seed
Making e2e test script same as angular-seed
Making runner.html the same as angular-seed
Fix for "browser is not defined" error

The `browser` variable is not available outside a beforeEach() call.
Removed footer tests, prepped for more changes

1. Footer tests don't apply here, it is included via directive, and is
thus unavailable to the gridTemplate.html DOM

2. Moved the grid instantiation code to a beforeEach(), so
AssignGridContainers tests can each run independently (eventually).
Moved to Chrome for karma unit testing

PhantomJS wasn't printing the failing test file or line number (i.e. stack
trace). Chrome does.
ngHeaderScroller had wrong expected width

Needed to be 417px but was 419px. 2px was removed at some point.