Chg: User: allow no ports or links in JSON import
chg: dev: work for l2
chg: dev: skip overlays that can't deepcopy
wip: layer 1 code
wip: vlans
chg: dev: allow explicitly flagged allocated interfaces
chg: user: add API test for is_hub
chg: dev: refresh hubs list
chg: dev: lots of work on vlans

Basic VLAN code now working
chg: dev: remove debug code
chg: dev: add support for copying indices for managed switches
chg: user: reword exception/debug message
chg: dev: build IP graph from layer_2 overlay
chg: dev: significant work on layer2 and vlans
chg: dev: trim the redundant vlan layer
chg: dev: Don't allocate IPs for SNAT/FLAT broadcast domains
chg: dev: add todo
chg: dev: update default VLAN to 2
chg: dev: trim out non switch vtp edges
chg: dev: build layer 3 for IGP, etc, from layer 2 graph