configurable top-to-bottom units order (#601)

new conf var REVERSED_RACKS_LISTSRC
+ inverseRackUnit - translates units numbers
renderAtomGrid: use of inverseRackUnit
renderRack: idem
renderMolecule: idem
array_first, array_last bugfix

array_slice is not working for arrays with binstr keys (possible PHP bug)
search was slightly refactored

bugfix: racks, vs, rspools were displayed in search results even if user had no permissions to view them
update: vlan search results now include binded IP networks

getVLANSearchResult: this func now search only by VLAN description
searchEntitiesByText:
 - ipv4addressbydq now has 'ip' as binary data
 - ipv4network, ipv6network renamed to ipv4net, ipv6net
 - added search by vlan id, and adding IP networks to results

searchEntitiesByText:
 - ipv4network, ipv6network renamed to ipv4net, ipv6net
 - isolatedPermission checks added for 'ipv4rspool', 'ipv4vs', 'rack'

buildSearchRedirectURL: new func to redirect user from single search result

renderSearchResults:
 - render handlers were unified slightly
 - use buildSearchRedirectURL, redirect through 304 instead of JS
 - ipv4network, ipv6network renamed to ipv4net, ipv6net
API: pass existing VLAN list into xlatepushq

exec8021QDeploy: always fill keys of vlan_names with VIDs, even if names
are not set
exec8021QDeploy wasn't returning FALSE on conflict

also re-throw an exception in configuration pull-in
getSearchResultByField: search by regexp