`py-end-of-statement': replaced higher-level functions

WRT to usage as subroutine replaced functions like `empyt-line-p'

Also reduced number of recursive calls to expect

Replaced calls to `end-of-line' as buggy, as it overseas a ";"
Instead employed forms like

(and (< 0 (abs (skip-chars-forward "^;#" (line-end-position))))
             (skip-chars-backward " \t" (line-beginning-position)))
`py-end-of-statement': reduce number of recursive calls to expect

Replaced calls to `end-of-line', instead employed forms like

(and (< 0 (abs (skip-chars-forward "^;#" (line-end-position))))
             (skip-chars-backward " \t" (line-beginning-position)))
`py-end-base': py-end-of-def and related faster

If `py-close-provides-newline' is `t', the default,
commands reaching the end will take profit of empty
lines