Fixed a bug and added ability to delete datasets with data

Couple of additions:

Delete non-empty datasets:
```python

client.delete_dataset(project_id, dataset_id) # raises error if dataset isn't empty
client.delete_database(project_id, dataset_id, delete_contents=True) # forces deletion
```
And
```python
client.get_datasets(...)
```
now actually returns a list.