Grid Column Level Filtering

*Pivotal Story ID:* 52519137

There is a requirement where in for some collection some field values should not be displayed based on the role of the logged in user. For example, on reports suppliers are not required to see fee breakdown for some of the columns.

Hence after all the calculations on server side we'll be sideloading the following hash with the collection, if the collection has any column level filtering applied
```javascript
# the arrays will have the column names for the given model
filteredColumns: {
  filtered: [],
  unfiltered: [],
  partiallyFiltered: []
}
```

For <code>unfiltered</code> columns we wont be taking any actions, 

If there are any <code>filtered</code> columns then we wont be showing them on the grid, the way it is done is by hiding all those columns present in the array & then filtering them out from the column chooser. For these columns the records will have null values

If case of <code>partiallyFiltered</code> columns, partially filtered columns are the ones which have null values for few of the records, the record may have the value at the backend but as the user isnt entitled to view the cell we will be returning <code>null</code> from the server. So incase if we have such unentitled cells we will  be graying them out.

This story implements the above mentioned.