Implement guest sign in and constraints

@gabebw @jsteiner


how about pulling all this out to a `before_filter`?