Added shell lock classes. 

They provide atomic locking for shell scripts.
Merge remote-tracking branch 'origin/master' into composite_id