bugfix: perfomance issue in port linker

renderPopupPortSelector: all empty ports were displayed as neighbours if
"nearest racks" was set and object was unmounted
fix spelling in init_config()
fix checkObjectNameUniqueness() to work for all object types
renderAddMultipleObjectsForm() - remove location-related object types,
they should be added using other forms
filled 0.20.0 changelog

release date for 0.19.14 was also specified
fix links to wiki
turn SLB demo data into binary format
bugfix: upgrade batch did not respect new realm 'location'

bugfix: constraint name in IPv4RS table was changed by upgrade batch
reuse code in assertBreedFunction
added sample data for some features

 - 802.1q automatic ports configuration
 - 802.1q template realm
 - SLB fwmark
 - SLB macro processor
 - zero-U mounting
 - tag assignment log
changed default values of some cfg vars

SHOW_LAST_TAB       	no => yes
IPV4_TREE_SHOW_USAGE	es =>no
IPV4LB_LISTSRC			{$typeid_4} => false
FILTER_DEFAULT_ANDOR	or => and
FILTER_SUGGEST_EXTRA	no => yes
IPV4_TREE_RTR_AS_CELL	yes => no
SSH_OBJS_LISTSRC		none => false
TELNET_OBJS_LISTSRC		none => false
QUICK_LINK_PAGES		'' => depot,ipv4space,rackspace

new DB function replaceConfigVarValue introduced in upgrade.php
802.1q -> 802.1Q
release notes for 0.20.0
0.20.0: cut the release
D-Link (#533) and Linux (#541) support in gateways

Conflicts:

	ChangeLog
	wwwroot/inc/deviceconfig.php
	wwwroot/inc/gateways.php

Signed-off-by: Denis Ovsienko <infrastation@yandex.ru>

This commit forward-ports two features from maintenance-0.19.x to master
with the following changes:

* D-Link enable password is not explicitly supported
* connector files are dismissed
* breed-specific functions are modified to match 0.20.x framework
* spacing/indentation justifications
refine some ROS-specific parsing code

ros11ReadMacList(): adjust finite automata for reliable detection of end
of table and less code
ros11ReadInterfaceStatus(): idem, explodeTableLine() is no more required
spelling
rename one of two renderFilePreview() funcs (#603)

There used to be two function with the same name, one in solutions.php
and another in interface.php. Since the module dispatcher in index.php
treats these two files mutually exclusive, this name clash remained
unnoticed until a user forced unconditional inclusion of interface.php
in a plugin file. This commit renames the function in solutions.php to
renderImagePreview().
initial support for Cisco UCS

Signed-off-by: Denis Ovsienko <infrastation@yandex.ru>

This commit is based on Jeff's patch he contributed to RackTables as a
GPL piece of work. I had to justify most of fine details in the code
and its layering, but the overall approach was preserved.

UCS is presently the only use case of queryDevice() with HTTP-supplied
username and password possible. This commit is an initial attempt to
handle such use cases.

New code:

* getObjectContentsList(): returns a list of object's nested objects
* ucsTranslatePushQueue(): maps PHP pseudocodes to UCS command(s)
* ucsReadInventory(): converts a plaintext listing of components into a
  PHP array
* renderEditUCSForm(): renders the HTML contents of the new "UCS" tab
* autoPopulateUCS(): ophandler to import the contents of a UCS domain
* cleanupUCS(): ophandler to remove the contents of a UCS domain
* trigger_ucs(): a trigger enabling the "UCS" tab on UCS domains' object
  page
* gateways/ucssdk: a Python backend to UCS SDK

Updated code:

* interface-lib.php: register a new PNG image
* dictionary.php: introduce a server chassis pseudo-model for a UCS
  domain
* install.php: update the default value of IPV4OBJ_LISTSRC option
* resetUIConfig(): update resetting of IPV4OBJ_LISTSRC option for
  consistency
* navigation.php: register new conditional "UCS" tab of an object's page
  and its associated functions
* detectDeviceBreed(): update to detect a new "ucs" breed
* $breedfunc: register the functions of the new "ucs" breed
* queryTerminal(): update for the new "ucs" breed and its first "ucssdk"
  protocol

Further work is required to align the RackTables data model with regard
to management instances and their association with physical objects, but
this is so far left out of scope of this implementation.
add a new 'management interface' object type