deal with empty worksheet

fix the issue:
when calling get_all_values() on empty worksheet, it will raise
exception: max() arg is an empty sequence
Update Google's application-specific password url

The old one only shows the current applications, it doesn't allow to create a new one
Merge pull request #125 from cpdomina/patch-1

Update Google's application-specific password url
Merge pull request #116 from gulige/master

deal with empty worksheet
PEP8fied
Allow you to log in using a stored auth token instead of username/password.

This way you can generate and save a token, instead of having
your username and password hang around in your source code or python
console history. The documentation suggests tokens last about a couple
of weeks.
Numericise treats None as an empty string.

If you have a cell that is empty, google docs API returns '',
but if you have a cell that contains formula that returns '',
then it seems to return None (or it gets converted into None somewhere
along the way). This was crashing my use of worksheet.get_all_records()
Added a set_cells method to update a batch of cells in one go.
Add "If-Match" header to PUT and POST requests for new spreadsheets.

The "New" Google spreadsheets now work, once you add this header.
Before this, they could be read but not updated (though would not raise
an error). Now, read-write access is restored.

As recommended by @sadovnychyi in his comment to issue #123
https://github.com/burnash/gspread/issues/123#issuecomment-42134685