make proxy request using a promise
move request function that uses a promise to its own module
refactor json parsing
Merge remote-tracking branch 'origin/master' into promises
fix handling of invalid json
Merge pull request #26 from afeld/promises

convert to using Promises