optimize the most ineffective object triggers

trigger_autoports: was using amplifyCell that is not cached
trigger_object_8021qorder: was using getVSTOptions (thus, listCells)
trigger_8021q_configured: idem
trigger_rackspace: was using getRackspaceStats() that enumerates all the
racks in DB to get avg height

getRowsCount: new DB utility function
getEntitiesCount: use the getRowsCount
optimize the ineffective place in renderObject()

    renderRack() took most of the execution time of renderObject()
    due to getPrevIDforRack(), getNextIDforRack() calls. These functions
    used to call listCells('rack') each, and caching was not enabled due to
    filtering by row_id. The performance was poor even with that filter
    because the listCells() fetches all the tags for a realm each time.

    selectRackOrder: new function returning ordered list of rack_ids in a row
    getRackNeighbors: finds prev and next racks to a given rack in a row
    renderRack:  use new getRackNeighbors
    getProximateRacks: use new selectRackOrder

    getPrevIDforRack: not used, removed
    getNextIDforRack: idem
    doubleLink: idem