Wholesale replace python.el with Emacs's

Taken from Emacs 24.4.1.
Correct position of cursor after indent

(current-indentation) returns column, not position, and column is
really fucking high (tab-width is 70) when I use smart tabs.  Contrast
with (line-beginning-position) and starting-pos (= (point-marker))
which measure in characters, and you're basically "mixing units of
measure."  Therefore we just back up to the indentation and grab
(point) to find the position of the current indentation in characters.

After some testing time I should probably propose this for upstream.
Tweak indentation on "assignment continuation"

I wanted

    foo = \

to indent just one more level, but the programmed behavior was to always
indent to underneath the \.  See my added comment for more information.
Maintain indentation inside multi-line strings

Maintain indentation from line to line inside a multi-line string.
Indent twice when continuing a block with backslash

E.g.:

    for really_long in \
            this_is_too_long_for_80_cols_baby():
        ...

I don't understand how the existing indentation would have ever been
good.  In my example above it would have determined the indent level
based on the column of the "r" in really_long.  I really notice this
when I'm using tabs for indentation with smart-tabs, making
python-indent-offset absurdly large, which means I end up indenting
the continuation line with spaces when I expected a tab.