took out hyperlinks for boolean, array, and mixed because there is not substantial documentation
Merge pull request #2455 from LearnBoost/gh-2444

gh-2444 took out hyperlinks for boolean, array, and mixed because there is not substantial docs
gh-2167 give discriminators access to their own instance or class methods
gh-2314 we should be able to update fields to empty object literals
Merge pull request #2475 from alabid/gh-2314

gh-2314 we should be able to update fields to empty object literals
Merge pull request #2480 from alabid/gh-2167

gh-2167 give discriminators access to their own instance or class methods
gh-2406 make copy of update parameters
Merge pull request #2486 from alabid/gh-2406

gh-2406 make copy of update parameters
Fix #2319
    Fix recursive `readPref`

    When using discriminators, `readPref` is called for each schema which causes an incorrectly nested read preference (e.g., `{"_type":"ReadPreference","mode":{"_type":"ReadPreference","mode":{"_type":"ReadPreference","mode":{"_type":"ReadPreference","mode":"secondaryPreferred"}}}}`).

    This will ensure that if the `read` key is already a `ReadPref` object that we do not wrap it again.
Merge pull request #2490 from kjvalencik/patch-1

Fix recursive `readPref`
release 3.8.20
now working on 3.8.21
Merge branch '3.8.x'

Conflicts:
	History.md
	lib/model.js
	package.json
first pass at converting casterrors to validation errors