Merge pull request #315 from angular-ui/bugfixes

2.0.4 Bugfixes
Update ng-grid-flexible-height.js

reverting the change that was made earlier.
Fixed capitalization of call to pKeyParser (pkeyParser -> pKeyParser)
Resetting selectionProvider.js, unintentional changes
Fixed capitalization of call to pKeyParser (pkeyParser -> pKeyParser)
Merge pull request #323 from c0bra/bugfix-pkeyparser

Bugfix for pkeyparser call capitalization
adding colDef to column, fixing typo
fixing issue # 320
hotfixing a couple issues
fixing the right thing this time.
fixing issue #337
fixing selection checkbox with pinning
accidentally set default improperly.
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