CXX-322 Remove dropDups support:
- add macro attribute for marking a function deprecated
- make it compatible with MSVC, clang, gcc
- make the use of deprecated functionality emit a warning by default
- add an option to supress warnings for deprecated functionality
- mark dropDups as deprecated
- add dropDupsDeprecated for users who need to keep using it
- update unit tests to use dropDupsDeprecated()