pkg/tar: tar_test.go - fixing possible nil pointer dereference

Playing a little with tar.go caused a panic in tar_test.go. This fixes it.
pkg/lock: refactor DirLock to facilitate discrete opens

 This also restores atomic lock conversions

 * Discard DirLock interface
 * Convert private lock struct into public DirLock
 * Convert private newLock function to public NewLock
 * Introduce receiver-based analogs of all acquisition functions
 * Convert existing open+acquire functions to use the public receiver-based
   acquistion functions.
Merge pull request #309 from vcaputo/dirlock

pkg/lock: refactor DirLock to facilitate discrete opens
Merge pull request #310 from gprggr/tar_test

pkg/tar: tar_test.go - fixing possible nil pointer dereference