Update to latest gem conventions

This updates Qs to our latest gem conventions. This includes
updating its dependencies, specifically bringing in the latest
Assert and removing Assert-Mocha. Assert now has its own stubbing
tools so Assert-Mocha is no longer needed. This also adds a factory
which is just built off of Assert's factory. This will allow
generating random data and also provide a place for Qs to add its
own factory methods if needed. This is part of keeping Qs updated
to our latest conventions and part of maintaining it.

This doesn't update any of the tests or code though it normally
would. This is because this is also setup for a lot of work being
done on Qs. I'd rather not spend the time updating the tests when
I'm likely going to change them anyway. I'll update them as I
change and implement logic.