Identities of Surveyor primitive values must include their types.

In Ruby (and, hence, Surveyor), 0 is not equal to "0".  Their Lunokhod
identity (i.e. UUID) should therefore be different.  Prior to this
commit, however, this was not the case.

Fixes #8.
Factor out common spec code.  #8.