* Fix port search columns
* Port search API search more than one fields
Fixup port APIs
Change validate_column_list api helper to throw a renderable exception on error and return the valid columns
DeviceCache::get() can handle a bigger range of input
* whitespace
* Refactor exceptions a bit
* change throws type to be more generic
* Lint fixes