Make some ESME and SMSC methods a little less private.

ESME and SMSC use name mangling to add extra privacy to some methods.
This makes them harder to subclass, which is frequently needed.
(e.g., see SMSC's constructor which needs ESME's receiver method)

This commit switches to single-underscore versions of all the
double-underscore methods. It keeps the old double-underscore
versions for backwards compatibility but adds a DeprecationWarning.

For some more thoughts on "name mangling":
https://stackoverflow.com/questions/7456807/python-name-mangling-when-in-doubt-do-what