Use resque for background processing

https://trello.com/c/adsxS8Sv/197-use-resque