Updated setup_mac to run puma instead of thin and to handle some of the ...

...conditions of starting puma

Puma takes a few seconds to launch and will be started in the background. So we curl until it is accepting requests.

Also we are caging(kill -9) old pumas if they are running when the script is started.
Side effect is that the script restarts puma.