Fix Python 3 issue with function introspection

I have just started using splinter in a Python 3.3 environment and hit a minor stumbling block. In Python 3, the two attributes ``im_func`` and ``func_name`` have been renamed to ``__func__`` and ``__name__`` respectively. I've looked at solutions used by the *six* module and within splinter itself. From that I've derive the solution in this PR. I'm happy to change it though, if an alternative solution is preferred. Looking forward to your feedback.

On a side note: splinter is awesome and I really like working with it. Great job! :thumbsup: