Make requirements loose for use in projects

When using libraries in larger projects (such as WebPay) that want to pin
requirements, it's hard to work with libs that require exact versions.
This change pins versions to minimums only which will at least give
the developer a hint if something goes wrong (they can revert to the minimums).
Without this change, curling won't run in WebPay because of conflicting
requirements.
Prevent attribute error on first use of curling

Since the conf doesn't exist you see None has not attibute 'get'
Merge pull request #6 from kumar303/reqs

Make requirements loose for use in projects
Merge pull request #7 from kumar303/first-run

Prevent attribute error on first use of curling
add in data
make connection errors a http server error (bug 884855)
make connection errors a http server error (bug 884855)
bump for bug 884885
accept json
bump version
Merge pull request #8 from andymckay/884855

make connection errors a http server error (bug 884855)
cope with config errors
Passport.js requires the oauth_token to be present even if not used
Merge pull request #9 from davidbgk/oauth_token

Passport.js requires the oauth_token to be present even if not used
add in realm support
add in docs about optional realm
Initializing headers to a dict

Otherwise the assignation a few lines below will fail.
Merge pull request #10 from davidbgk/headers_none

Initializing headers to a dict