Fix table view in discover

In discover, if you have rows that contain fields with the same names as meta fields (e.g. `_id`), and expand that row, the table view doesn't render, and you get an error in the console.

The reason this happens is because the expanded table view creates an array with the row's fields concatenated with the meta fields. If there is a duplicate, the `ng-repeat` directive barfs because it cannot ng-repeat over duplicate values. This fix strips out duplicates to enable the `ng-repeat` to function properly.

Closes #1874.
I see that you've kept your updates small here, which is totally fine, but it would probably be better to split these lines out and use lodashs chained syntax. This line is starting to get pretty complex.