Fix support for multiple filters, add support for a custom filter.condition function

Instead of passing a uiGridConstants.filter.CONSTANT or RegExp
as a filter.condition, a user may pass a custom function that
will be run for each row. The function gets the following
arguments passed to it: searchTerm, cellValue, row, column.
It should return true if that row passes the filter, false if
it does not.

**Note:** This is the first time I am contributing to this project, so I apologize in advance for any breech in protocol. I am happy to revise this PR. Thanks.
With the possibility of multiple filters per column, we have to watch each filters term property, not just column.filter.term