Ensure Daemon::Control exit status is used
Tidy changes to jsonp tests
Preserve argument structure and de-dup env var

Quote the "$@" to keep arguments with spaces (like -e 'print 1') working
and re-use the carton script to reduce duplication.
Define wrapper to cd and setup env to simplify jobs

This sets up the carton environment and allows for much
shorter command line invocations (useful for cron jobs, etc).

Note that it can also be confusing for interactive command line usage
if you're using relative paths (but I think those use cases are rare here).
Remove hack for using outdated ./local/lib

Since we have carton install somewhere else now that hack doesn't work anymore.

I'd love to have something like "use Carton::LoadLibs" or something
(like `require "bundler/setup"`) but carton doesn't support that yet.

For now this script just needs to be run under one of the wrapper scripts.

closes gh-326.
Check distvname is defined before comparing it

to avoid several warnings every time the script is run.
Some weird uploads don't have it.

Also add some comments to make it easier to follow.
Move generate_sid function to Util for reusability
Create OpenID controller to serve OpenID login
Pre install libgmp-dev
Use secret key from config file, create user agent method and more changes
Change to sigle quotes and the way to write single string
Require MooseX::ClassAttribute
Create user agen class, modify test and add allowed hosts