Refactored and extended Bracket into subclasses of Delimiters: Parens, Brackets
and Splice.

An incorrect opener parameter is no longer possible.  The Delimiters
constructor performs the plist transformation for Mappings. The new classes
have been exported to allow or encourage fine-grained control over formatting.
Refactor tosexp() to use singledispatch (PEP 443)

Immutable classes can now be extended for tosexp() without modifying the
module; SExpBase couldn't be mixed in due to the __init__ method. Immutable
builtins like str/unicode can be extended for String/Symbol. Instances of
namedtuple can be registered, but a following __sexp__ __dunder patch is the
preferred way.

Adding install_requires in setup.py required removing the sexpdata import. The
setup.py uses version-dependent requirements. Singledispatch for 2.6 needs
the ordereddict fallback installed.

The tosexp() generic function prevents complications and potentially optimizes
the type dispatch. Correctly ordering a type dispatching conditional is no
longer necessary (i.e. checking bools before ints).

Moving away from the _tosexp() closure allows any S-expression transformation
function to have its own keywords. Users can define new keywords for dump/dumps()
without modifying the module.

The pi digit sequence doctest should be skipped because Python 2.6 doesn't
display floats like 2.7+.
Introduce __sexp__() __dunder__ method for extending classes

Simple Cons class and alist examples provided in tosexp.__doc__
 Default to outputting namedtuples as plists
Subclass unicode for String and Symbol

Refactoring the String and Symbol classes into subclasses of unicode decouples
from SExpBase. Neither of these classes will creep features. The behavior of
__eq__ has been preserved and doctests were added. Two __sexp__ methods were
used for consistency---registering directly to tosexp() might be faster.
Petrified Quoted and Delimiters, obsoleted SExpBase
more exception coverage