CLOUDSTACK-3826: Automation: Fix test_vpc_routers

1. You cannot check routers after your destroy them
2. You cannot use the old value in checking migration status.
3. You cannot upgrade VR to a non-system offering.
CLOUDSTACK-3942 NPE from findStoragePool method

Changes:
- Added null checks for podId
CLOUDSTACK-3686: Registering a template does not generate a usage event.
CLOUDSTACK-3963:

in security group, CS put a rule in ebtables filter table FORWARD chain to prevent user from changing VM mac address
util.pread2(['ebtables', '-A', vm_chain, '-i', vif, '-s', '!', vm_mac,  '-j', 'DROP'])

if user changes the VM mac address, all egress packet from the VM will be dropped, but the egress packet still contaminate the bridge cache with fake MAC,

This patch moves the rule to ebtables nat table PREROUTING chain, then the egress packet with modified MAC will not contaminate the bridge cache.