Allow other python programs to call autopep8 without touching the filesystem

Hey.

first: thank you for writing this tool, it makes my inner pythonista very happy!

I'm trying to use autopep8 from within my python program. However, the python source code is not saved in a file, but in memory.

The two attached commits split the `fix_file` method in one part that deals with files (still `fix_file`) and one part that deals with the formatting of source that is already in memory (`fix_string`, that is then used by `fix_file` to do it's work).

I ran all the tests in py26/p27 locally, let's see how travis thinks I'm doing ;)