Implement guest sign in and constraints

@gabebw @jsteiner


I'd rename this class - maybe `GuestOrSignedInConstraint`?