Add support for storing and using lock_reason

lock_reason is simple optional text for admins to use to store why
they've locked a port in VLANd. Helpful as reminders later on!

Changes:

 * Added database schema V2, with upgrade code to go with it. Adds the
   "lock_reason" field in the port table.
 * Deal with changes to all the database methods dealing with the
   port table. set_port_is_locked() now takes an extra parameter for
   lock_reason.
 * API call db.set_port_is_locked() updated to match
 * admin.py updated to match - allow optional setting of lock_reason
   when locking a port, and print the reason when displaying port
   details too
 * In the web interface when hovering over a locked port, now also
   display lock_reason if it's available, or "unknown reason"
   otherwise

Change-Id: I31abc7308fd95e264729abc32ee855ac327a9abd
4 files changed