Use redis-mutex for locking instead of flock
Break building gems on demand to separate locks

This way when two requests want to build the same gem they won't build
the same gem twice.