Add support for lock in Update and Delete.

MSSQL allow you to specify a lock hint for SELECT, UPDATE and DELETE.
To support this, UpdateStatement, DeleteStatement and their manager counterpart need to allow a lock value.

I've extracted the lock business in a separate module included in the SelectTatement, UpdateStatement and DeleteStatement.

This pull request is the first step for this: https://github.com/jruby/activerecord-jdbc-adapter/issues/494
When accepted I'll apply the same modification for the 4-0-stable branch and master branch.