Resolvi a questão do usuário anônimo criando o `User.anonymous`: https://github.com/geteloquent/talks/commit/5f23207d627e227db25f7cb7c5d417a1e45ae893.

Não entendi como o form object se encaixaria neste caso então adicionei o método de votar no service object que tinha criado: https://github.com/geteloquent/talks/commit/0fb6cd5e693455fc264fb87bcc813716e28d8bb3#diff-9ab6fb951c3d22bcb11014f6241cfb16R9.