Fix for ticket:
https://bugs.launchpad.net/bugs/361414
ipcluster, ipcontroller and ipengine now all call user_setup to make
sure that the ipython dir exists. I also found some subtle bugs
about how the various ipython directories were being handled.
Now, all of these script call get_log_dir() and get_security_dir() to
make sure that these sub-dirs of ipythondir exist as well.