Add support for reviews creation in the API

I kept the reviews table as simple as possible, I believe we can gradually improve this table with more columns while we decide how it should work.

In this pull request I added an authentication routine to protect the API methods, as long as the users table.