Removed defers in thread-safe code for performance reasons.

- Recent testing (http://lk4d4.darth.io/posts/defer/) has shown that defer
  incurs high overhead when compared to normal function calls. For this
  reason, all defered calls have been instead placed as normal calls
  just before the appropriate return statement. Benchmarking has shown
  that this gives a significant performance improvement (for details,
  run "go test -test.bench '.*'").
Merge pull request #14 from joshlf13/master

Removed defers in thread-safe code for performance reasons.