Filter is optional, other cleanup

* Filtering now adheres to "filterable" on the column.
* Added column defaults to extend from so that all the options are present if not overriden.
* Other general code cleanup