Update pushbullet notification to use JSON

The pushbullet api has changed and now only accepts JSON encoded requests. I changed the content-type (line 454) to application/json, and encoded the data using json.dumps. Also, the url for api calls changed as well (line 453). 

Also removed the 'device_iden' (line 447), since it didn't seem to be working correctly. A note on this change...since we aren't specifying a device id in the request, pushbullet will ignore the selected device in the settings page and just send the notification out to every device the user has configured. May want to eventually update the settings page to get a list of devices from pushbullet and use the returned ids here.
Unify locking and sleeping mechanisms
Fix using lock/rate limit for requests.*
Fix a typo
Merge pull request #2018 from sunmorgus/patch-1

Update pushbullet notification to use JSON
Merge pull request #2020 from jmullan/feature/travis

Add mention of travis to contributing doc and fix some lint stuff
Merge pull request #2022 from jmullan/feature/sleeps

Unify locking and sleeping mechanisms