Select bug

Fixed a bug with select and deselect methods.

Fixes issue where facetName was getting assigned correctly as the chosen field name
in the deselect method, but was getting set as the id of the parent's parent in the select method.
This was causing the deselect method to fail as the selected key was different to the deselected key.

Also, added slightly clearer callback function checking.