Misc cleanup
Removes duplicate method.
Adds comments.
Doesn't cache fresh words of an instance.

They will change when the instance data changes, and at that time are cached already.
First removes stale words, then adds new ones.

This is faster, because we have to enumerate less words when removing the stale words first,
and also there will be less words when adding them.
Simpler syntax for FactoryGirl methods.
Moves the shared examples to the file where they are actually used.
Adds tests.
Uses the system username and password for login to Postgres.
Bumps version to 4.0

Since we have breaking changes to the API of this gem.