bugfix: %GPASS% dictionary markers were ignored

cookOptgroups: use of execGMarker
802.1Q: duplicate rem_vlan ops were generated

generate8021QDeployOps: use of array_unique
802.1Q: better Force10 switches support

ftos8TranslatePushQueue: vlans were not deleted
ftos8TranslatePushQueue: redundant commands causing error messages were
removed
WS-C2960-24PC-S SNMP support
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
update list of authors for 2013
fix indentation
make more use of mkA() in interface.php

This change updates a few functions to output <A HREF...> through a call
to mkA() helper function.

* printObjectDetailsForRenderRack()
* renderRack()
* renderEditObjectForm()
* renderObject()
* renderIPSpaceEditor()
* renderIPv4NetworkAddresses()
* renderIPv6NetworkAddresses()
* renderNATv4ForObject()
* renderLocationPage()
* renderRackPage()
* renderLivePTR()
* printRoutersTD()
* renderCell()
* render8021QOrderForm()
* render8021QStatus()
* renderVLANDomain()
* renderVirtualResourcesSummary()
* renderEditVlan()
dictionary: list more network switches
SNMP: add support for IBM G8052
SNMP: add support for IBM G8264
refresh minirack module code

* renderRackThumb(): remove irrelevant code/comments, rename to
  dispatchMiniRackThumbRequest()
* generateMiniRack(): don't return anything (exceptions do the job),
  rename to printRackThumbImage()
scale rack thumbs on server side, not in browser

There are two scales for the rack PNG thumbnail: 1:1 (used in rackspace
view) and N:1 (used in rack row view according to ROW_SCALE setting).
The latter for a long time remained the same as the former on the server
side (handled through "minirack" request subtype), relying on image
scaling to be performed by the browser. However, modern browsers tend to
scale images with resampling algorithms, not resizing, making the scaled
image look blurry.

This change adds an extra "midirack" request subtype standing for the
N:1 PNG image scaled on the server side, so that it looks sharp again.
The server-scaled images are not cached, which should not be a
performance issue since they are requested only for a specific rack row.

* printRackThumbImage(): add optional image scaling
* dispatchImageRequest(): add new "midirack" subtype
* renderRow(): pass the required image scale through the request
bugfix: ipbydescr search results were broken

renderSearchResults was modified
dictionary items of Cisco Catalyst 2960 renamed

change by Boris Lytochkin

some dictionary items of Cisco Catalyst 2960 switches were renamed to meet official Cisco classification (refer the release notes)