[PHP-668] Allow empty setReadPreference() tags param for primary mode

See: [PHP-688](https://jira.mongodb.org/browse/PHP-668), [PHP-679](https://jira.mongodb.org/browse/PHP-679), and [PHP-681](https://jira.mongodb.org/browse/PHP-681).

This PR depends on #283 ([PHP-680](https://jira.mongodb.org/browse/PHP-680)).

This also includes a commit refactoring the `get/setReadPreference()` tests for our core classes and making them more consistent. I won't be splitting that into a separate PR, since the subsequent commit is closely tied to that refactoring.

This is ready to be reviewed.