when mounting an object, list of racks was improperly grouped if duplicate row names existed (#839)
getResidentRacksData: optimize SQL query
renderSearchResults(): invalid result when only one location matched (#843)
renderRackspace(): display parent locations (#845)
renderLocationPage(): display parent and child location(s) (#847)
new function isIPAddressEmpty

markupIPAddrList: use isIPAddressEmpty
isIPNetworkEmpty: idem
bugfix: syntax error
new global $pageno_by_etype

buildSearchRedirectURL: do not assume realm == page
mkCellA: use $pageno_by_etype instead of loop
serializeFileLinks: use $pageno_by_etype instead of array_search
scanRealmByText: removed realm filter

some realms were not accepted in scanRealmByText (location, row)
unknown realms are already filtered in listCells
vs groups feature

new realm 'ipvs'
new tables `VS`, `VSIPs`, `VSPorts`, `VSEnabledIPs`, `VSEnabledPorts`
new files slbv2.php slb2-interface.php, slb_editor.js, checked.png, unchecked.png

listCells:
	- new realm 'ipvs',
	- 'ordcolumns' key became optional in $SQLinfo
	- call dos2unix when fetching DB SLB configs
spotEntity: idem

scanIPv4Space: fill 'vsglist' key of IPAddress structure
scanIPv6Space: idem
constructIPAddress: idem

generateEntityAutoTags: new realm 'ipvs'
formatEntityList: idem
renderCell: idem
dynamic_title_decoder: idem
renderSLBEntityCell: idem

array_sub: utitlity function, assosiative array_diff
nullEmptyStr: utitlity function, turns empty string into NULL

renderObject: inject redered vs groups info
renderIPv4NetworkAddresses: idem
renderIPv6NetworkAddresses: idem
renderIPAddress: idem
renderRSPool: idem

showPathAndSearch: support for specifying tab in 'parent' key of $page global (colon-separated)

SLBTriplet::generateSLBConfig: new macro %VS_PREPEND%
buildEntityLVSConfig: concat v2 and v1 configs
SLBTriplet::getRSList: call dos2unix when fetching DB SLB configs
SLBTriplet::getTriplets: idem
forgot ENUMs altering
getRenderedAlloc: 'none' in IPV4_TREE_RTR_AS_CELL

this is a performance optimization, as the whole 'none' thing was.
removed markupObjectProblems func

its functionality was moved to amplifyCell
this is performance optimization
VSG tab name fix
clarification around formatEntityList

formatEntityName: renamed into formatRealmName
formatEntityList: turned into wrapper around its old core, which became
	formatEntityName
mkCellA: display realm for some entity types
getEntityRelatives: formatEntityName renamed
getFileLinks: simplified, do not calculate display name
serializeFileLinks: use mkCellA, dont use pageno* globals
renderFileLinks: use mkCellA
renderGridForm(): removed markupObjectProblems call
display blades when rendering a rack (#745)
vsg creation form

amplifyCell: bug fixed. When vsg had no ports or vips, 'ports' and
	'vips' subkeys were not created
vsg deletion
bug: renderSLBTriplets2 was not displaying prio