JAVA-1587, JAVA-1569

This brings the CRUD API in line with the CRUD specification in terms of the exceptions thrown by the write methods.