Initial commit

Porting all the code from Qiita and extending the tests.
This is actually a bit strange, but this is the logic behind this code:
At this execution point, we don't know if the sql query that we executed was a `INSERT` or a `SELECT`. If it was a select and there is nothing to fetch, it will return an empty list, as you noted. However, if it was a `SELECT` it will raise a ProgrammingError, so we catch that one and pass.
It will potentially be better way of doing this but I'm not sure right now...
I'll add a explanation code so we don't have ourselves in the future :smile: