Audit.as_user with a crash block can generate error aduited user

In rails app
```ruby
   Audit.as_user('system autogenerate') { a_create_record_block_may_crash }
```
if the block crashed, then the Thread.current[:audited_user] will always be 'system autogenerate'. Then user visit other page, make other requests  and it makes subsequent audit creations use wrong user.
This commit can fix it. 
Thanks.