Implement 'Nil User' pattern to deal with deleted users

Potential fix for #427
Use Workflow 1.0.0 and change update_attribute calls to update_column calls.

There's also been a change to use Workflow's hook methods, so that Post and Topic both have their own #approve methods now.