xld encoding

Use python method to read plist, should give a bit more logging
Update base.html

Remove class for log button because it looks ugly with it
Added mention of travis-ci to contributing doc
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 pylint complaints about logging
Hopefully fix pylint complaint, also lock pylint to pything 2.6 compatible version
Move more artists queries into artists.py
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
Merge remote-tracking branch 'origin/develop' into feature/helper_classes

* origin/develop:
  Fix a typo
  Fix using lock/rate limit for requests.*
  Hopefully fix pylint complaint, also lock pylint to pything 2.6 compatible version
  Fix pylint complaints about logging
  Unify locking and sleeping mechanisms
  Update pushbullet notification to use JSON
  Added mention of travis-ci to contributing doc
  Update base.html
  xld encoding