Fixes #363, allow displayName to be empty string

When the columnDef displayName property was an empty string, the column
class was defaulting to using the field name in the header template. Now
it will allow an empty string and will only use the field name if
displayName is undefined.
Fixes #366, column enableCellEdit overrides config

If a column has enableCellEdit set, it will now override the default grid
config enableCellEdit setting.

Added browserTrigger.js for triggering events while testing. This is the
tool angular uses for its internal tests

Added test spec for enableCellEdit. Had to use jasmine's async helpers to
get around a setTimeout in the ng-cell-has-focus directive.