documentation updates to reflect upstream fixes 3
JAVA-1070: Restricted NULL Unicode character checks to cstring, so that a normal value string can contain one

Conflicts:
	src/main/org/bson/BasicBSONEncoder.java
	src/test/com/mongodb/DBCollectionTest.java
	src/test/org/bson/BasicBSONEncoderTest.java
Removing some getlasterror-related asserts so that tests pass against server 2.6.
Updated gradle build to correctly import all the sources when importing a project into IntelliJ; moved some non-production classes around to work better with the build; added Codenarc for checking groovy tests (we might as well have consistency in our new code); added and applied new copyright.
Moved examples into their own directory.  Tried to back out the copyright "fix"
Updated the copyright/license across the board; added license plugin to gradle build to check consistency going forward.
Removed license plugin from Gradle, it seems to be more effort than it's worth
JAVA-1077: Add a mechanism property to force host name canonicalization for GSSAPI authentication.
JAVA-1072: Create daemon thread for the scheduled executor service, and while we're at it, prefix the thread name with the cluster id
JAVA-1076: Deprecate autoConnectRetry and maxAutoConnectRetryTime
JAVA-1075: Deprecate all usage of w = -1
Added tests for command methods on DB; added another command method on DB that takes a read preference instead of options; fixed Javadoc target in build so that I could check the updated javadoc comments.
Added tests from the 3.x branch that were missing in 2.x; improved the speed of some of the tests; renamed all the tests to start with "should" for consistency
JAVA-1063: Deprecated command methods that take the options flag; removed duplicated tests.
JAVA-1063: Added missing command method, command(String, ReadPreference), and corresponding test; renamed readPref to readPreference; improved Javadoc on command methods;
JAVA-1063: Ignored a test that was intermittent.
Second lot of copyright changes - added the "to" year.
Simplified TestCase cleanup code
JAVA-981, JAVA 1040: Implemented bulk write API using the new write commands from MongoDB 2.6.  Also supports emulation of those commands on pre-2.6 servers using the existing opcode-based writes.  Also fixed the existing support for JAVA-981 in response to changes in the write commands coming in 2.5.5.
Made some changes to the Bulk tests that appear to minimise their intermittency and ignored one failing test - these tests need to be looked at in greater detail, but the aim here is to get Jenkins passing.