spawn locks have gone crazy.  Removing most of them because we are using concurrent data structures.  this branch requires testing before merging to master