Squashed commit of the following:

commit a0a99186f61272f5c30f53fa22ad23580843e121
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Wed Jul 23 19:44:09 2014 -0700

    for some reason reconnecting fixes auth errors, so leave that in

commit d95abfe56cca6c370c268e1e896964da91d9d812
Merge: 4701976 de24b40
Author: Chris Behrens <chris.behrens@rackspace.com>
Date:   Wed Jul 23 18:52:49 2014 +0000

    Merge pull request #14 from bradley-morgan/async_save_config

    async save config

commit de24b40c50f6f3f1ba7d9f551087971447bf28c2
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Wed Jul 23 10:57:09 2014 -0700

    use standard Queue.put() instead of eventlet specific thing

commit 4536ad37a0f4b68744dce07691fecb7fa64b70b7
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Wed Jul 23 10:53:32 2014 -0700

    swallow all exception

commit b8a4ffcd7e5a1d3d87e699a48655894904c07283
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Wed Jul 23 10:50:44 2014 -0700

    fix typo

commit 0242e4cd4490bd30d861a74fa0f9fd511d8b9d03
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Wed Jul 23 10:02:25 2014 -0700

    we want to reconnect on session failures

commit 980bac0674653688d17005e66d71814bc90603e5
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Wed Jul 23 02:34:09 2014 -0700

    pool is not needed here

commit d9e663f2547285e05dcadaaefa99ea08ca2a3499
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Wed Jul 23 02:17:29 2014 -0700

    async save config

commit 470197648044cd2b098e2a7c56b3c4425adb87fb
Merge: 36d528f 9aae9c9
Author: Chris Behrens <chris.behrens@rackspace.com>
Date:   Wed Jul 23 02:03:27 2014 +0000

    Merge pull request #12 from bradley-morgan/teeth_testing_615

    Fix bug with update_port_postcommit()

commit 9aae9c923283ee1c2570b48549729b33f602babd
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Tue Jul 22 18:59:01 2014 -0700

    be pythonic, use correct LOG

commit bdb05840388772db12e0826c5e40469278427c56
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Tue Jul 22 18:17:39 2014 -0700

    Fix update_port_postcommit() errors in port_create()

    port binding processing happens in port_create(), which calls update_port() without the extra port context from our extensions, so we need to make sure these values are actually specified before doing anything.

commit 36d528f9b6f91ddf7e29dbeebea49b05808cff6e
Merge: d62ad4e a7b2cf3
Author: Chris Behrens <chris.behrens@rackspace.com>
Date:   Tue Jul 22 22:02:56 2014 +0000

    Merge pull request #11 from bradley-morgan/teeth_testing_615

    Updates

commit 9dda062f8cd0eb2a745c9e891899134a49c8ed9f
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Tue Jul 22 11:09:15 2014 -0700

    fix test for changing shutdown order

commit a7b2cf325467d8321d3fbc7f4febf9ecbf67b7e5
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Tue Jul 22 10:52:25 2014 -0700

    shutdown int before default

commit ac19d0fabdf56361dafe0899c010c3c6c0566ac7
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Mon Jul 21 17:21:11 2014 -0700

    add missing stubs for driver interface

commit daf797273aebb8972811b63be6d84c5881f03883
Author: Brad Morgan <morgabra@cloudkick.com>
Date:   Mon Jul 21 17:13:55 2014 -0700

    Merge several fixes:

    * Update upstream neutron and merge ml2 plugin changes with our fork
    * Add /running_config endpoint to switchports extension, returning the config from the switch
    * Add /interface_status endpoint to switchports extension, returning the interface status
    * Refactor cisco driver slightly to take advangate of the 'default interface' command
    * Inital pass at tests and small fixes for found issues