Changes to column menus, headerCellFilter and fixing two grids

This branch combines the current upstream/master with pull requests
in upstream that made merging #1501 in particular difficult.

Key changes are:
1. Add hide column to column menu

Also includes "google translation" standard translations.
Noted that error is occurring intermittently in testing:
ui-grid watch for new pinned containers fires watch for right container FAILED

Tested and validated that this is also occurring on upstream/master,
so presume not to do with changes I've made.

2. Fix column menu with two grids: move from self to scope

Moved most of column-menu methods and variables onto $scope
so that context didn't get misaligned, and therefore two grids
is possible.  Added tutorial page showing two grids.

3. HeaderCellTemplate from column builder used, filter permitted on headerCell

Modify defaultColumnBuilder to add a headerCellFilter property to columnDef,
allowing a translate to be applied to the header without needing to use a custom
header template.  This translate in my case is angular-translate, used for
internationalisation.

Modify ui-grid-header-cell directive to use the header template from the
column builder, rather than ignoring it, which would address a concern
raised by @Shazypro on gitter.

Minor modifications to templates because the result of a compiled template
seems a little different than an inline template, and therefore some classes
ended up in different places within the ng-repeat.  This could alternatively
be fixed in the css, but css is really not my thing.

Noted that on my mac in chrome the column menus are not correctly attaching
to the columns, but I believe this is a pre-existing problem not caused by
this change.