Update synchronized decorator so that it can be supplied a lock object explicitly to override default.
Extend synchronized example in documentation to allow lock object to be passed in explicitly to override default.