Handling no results and missing API key

The execute method was throwing an error when no results are found. These changes handle that case and instead return an empty array [].

Also raising ArgumentError when executing SQL queries when no api_key is supplied. 

Added tests for both!

Cheers,
Derek