SgField.valueSg() updated for better subclass control

- SgField.valueSg() performed a check if the parent exists and if not
  returned immediately.  This works well except for SgUserFields which
  do no depend on the parent existing for the return result.  Moved
  the parent exists check into the sub-class section _valueSg().

SgUserField.setValueFromShotgun() no longer always returns False

- This was originally done for the "id" and "type" fields however both
  classes already define setValueFromShotgun() and return False.  This
  forced subclasses into a undesireable spot as they would always have
  to define setValueFromShotgun() manually.

  This removes the burdon of user field subclasses from always having
  to reimplement setValueFromShotgun().