Python 3 support

This adds python3 support to the code (tested with python3.4) without breaking python2 (tested with python2.7). I'm also adding a basic gitignore as I've noticed a whole bunch of extra files in git status.

With those changes the code is pyflakes and pyflakes3 clean. I'm planning to push another way bigger changeset to make the code pep-8 compliant too, once that's done, it should be much easier to notice if something regresses somewhere.

(The python3 support is in preparation for another change I'd like to do which is to use LXC's native python3 interface if it's available on the system rather than wrapping the binaries.)