Create PublicApi for core grid, add row visibility logic

Create a PublicApi for core, along with the ngdocs for this.

Add methods to that PublicApi, including grid.refresh,
gridRow.setRowInvisible, gridRow.clearRowInvisible and
gridRow.getRowsVisible.

Create new methods to force grid rows to invisible, and
an event that is fired whenever the rows visible changes.
added tests. moved isRTL function got Grid.js
more cleanup of ui-grid directive by removing reduntant functions
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.
slovak translation
added row header to selection feature

added row header to selection feature
Merge pull request #1532 from novice3030/master

added row header for selection feature
fix for row header in selection feature

added ui-grid-disable-selection class to disable native user selection
for row header cell in selection feature
Merge pull request #1533 from novice3030/master

fix for row header in selection feature
Merge pull request #1528 from PaulL1/header_and_column_menus

Changes to column menus, headerCellFilter and fixing two grids
attempt to fix tests that are randomly failing
Merge pull request #1529 from scholtz/patch-1

slovak translation
Merge pull request #1519 from PaulL1/force_invisible

Create PublicApi for core grid, add row visibility logic
External sorting api, a gridOption and an event

Add external sorting api, gridOption.useExternalSorting, and
api.core.on.sortChanged().

Includes unit tests of the sort suppression (but not the
event raise, as there weren't existing sort unit tests) and a
tutorial demonstrating the usage.
Merge pull request #1539 from PaulL1/external_sort_events

External sorting api, a gridOption and an event
Fix left/right scroll on OSX/trackpad

Speculative change - this fixes left/right scrolling for me.  However
it is entirely possible that it breaks left/right scrolling for other
trackpads that issue wheel events - none of my other devices issue
left/right wheel events (and perhaps such devices are few and far
between).  Submitted to see whether anyone else is impacted.
Revert "Merge pull request #1528 from PaulL1/header_and_column_menus"

This reverts commit 48419d484601406900a1fc83847a825a375ce985, reversing
changes made to beb57624d335471a1d07945882e91513c1fb4ce6.
fix issue with grid.addRowHeader function
Revert "Revert "Merge pull request #1528 from PaulL1/header_and_column_menus""

This reverts commit 6f6de098e2c200da961abb7a2adcc04b6db8ee88.
fix test for the fixing of rowHeader