Implement node locking to prevent simultaneous apply

CC #19
Disable execution of node locking when testing

CC #19

Once I know that the current locking code is the way to go, I'll write
tests.
minor nitpicking
move locking code into NodeLock methods
gethostname seems more straightforward than uname
store UTC time on remote systems
fix node reference
machine readable lock info file and nicer lock override
fix lock release log message
fix dealing with unreadable lock file
/tmp/bw.lock -> /tmp/blockwart.lock

makes it easier for people to identify what a stale lock is about
add comma at end of dict
Merge branch 'node-locking'

Closes #19