[PHP-679 PHP-681] Make setReadPreference() consistent

If not tags are provided, the read preference tagsets should be cleared out. If an error is encountered (either bad mode or invalid tagsets), the read preference should not be modified at all.