Add Py3.3 and 3.4 to tox.ini/setup.py
Dispatch based on ABC's for Iterables and Mappings.

This rounds out support of builtins set, frozenset and generators. Now also
supports containers like OrderedDict.
Py2 unicode simplification and optimization

Unicode conversion now relies on coercion from join() and concatenation
operations involving unicode literal strings. ' '.join(...) coerces all
elements of an iterable within a Bracket. Single values (i.e. one string, int,
etc.) are decoded within dump().

uformat() is now no longer necessary to ensure unicode conversion. These calls
became format() methods or simple concatenations. Something like
'"{0}"'.format(arg) runs roughly an order of magnitude slower than '"' + arg +
'"', so this is a worthwhile optimization at the cost of some inconsistency.

Importing unicode_literals changed the values of the doctest expected values;
they become u-prefixed literals in Python 2.x, conflicting with the
non-prefixed literals in Python 3.x. The newly included doctest-ignore-unicode
module patches over this during testing.
Require and run doctest-ignore-unicode only on py{26,27}

Requires tox 1.8
Inlined dict_to_plist() as a chained pair generator
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)

Added simple Cons class and alist examples as doctests.

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.

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 pi digit sequence doctest should be skipped because Python 2.6 doesn't
display floats like 2.7+.
Introduce __to_lisp_as__() method for extending classes

TODO: add example
 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.
Petrified Quoted and Delimiters, obsoleted SExpBase
more exception coverage