Guest access fixes #1

In order to handle guest access, now all requests with user_id == *0* (which caracterize a guest access) is bypassed from kongregate services and automatically considered "successful".

When a guest access is granted, a new guest_user_id is generated and used as *uid* and might be used as a user/session identifier. This generation was implemented because kongregate return *user_id = 0* for all guest requests, so it's not a good idea to use it as a session/user identifier.

All guest keys starts with the prefix *g_* which can be used to fast check if an user is a guest or to count how many guest users are logged (it depends where you store your sessions).

Morever, I set the some gems version on gemspec in order to not have problem with incompatible versions, and to avoid problems like [this](https://github.com/carlhuda/bundler/issues/1450).