2015-12-27  Nenue  <Nenue>

[bec37163b7fe] [v2.0-beta]
* Devian.lua, Devian.xml, UI.lua:

rewrote the blocks for '/dvn tag' and SetChannel to be more predictable; currently follows:
/dvn tag <source> <dest>
if <dest> matches a channel, then the tag for <source> is added or removed
if <dest> is a string and it doesn't match a channel, then that channel is created with <dest> as a signature
if <dest> is a number that doesn't match a channel index, then <dest> is  set to <highest valid index + 1>, the channel is created under that, and <source> is used as its signature

 SetChannel(cinfo, key)
 start with an empty table t_info that is filled in as follows:
 if key doesn't match a valid index/signature, then a channel is being created
 if key does match a valid index, then a channel is being updated
 if cinfo is a string, then only the signature value is imposed
 if cinfo is a table, the values from that table are imposed
 if a channel is being created, then the new channel info is filled in from primary channel, the index is auto-generated, and the signature value is checked for collision, and the information is passed through CreateConsole to form internal assignments
 if a channel is being updated, then t_info is populated from the channel data, and any internal table assignments are switched over to t_info
 the old tables sink into garbage collection


