Fix for non-utf8 characters causing exception

UnicodeDecodeError: 'utf8' codec can't decode byte 0xae in position 13:
invalid start byte
In pdf with that contain non-utf8 characters,  name.decode("utf-8")
throws an exception.

®
pdfcat et al.: now 3.0-compatible.

modified:   PyPDF2/pagerange.py
    Define "Str" (capital S) to mean basestring in 2.x, str in 3.x.
    Used while validating a PageRange initializer.

modified:   Sample_Code/makesimple.py
    from __future__ import print_function
    I guess this would work, except makesimple.py uses reportlab, which
    isn't 3.x compatible yet.

modified:   Sample_Code/pdfcat
    from __future__ import print_function
    Aargh!  PdfFileMerger in 3.x requires that the input files stay
    open while it's doing the write().    So, I went back to caching all
    the  open files in pdfcat.  I do not close them, since pdfcat is just
    a script and exits immediately.  But at least each file is only open
    with one file object.
    Tested in 2.7 and 3.3.  Redirecting stdout works in both on Mac OS X.
pagerange.py: ParseError if non-string.
Merge pull request #56 from switham/pdfcat

Command-line concatenation tools
Implement use of utils.ord_() for Python 3 compatibility
Make sure BytesIO receives bytes in Python 3
Fixed some compatibility issues with Python 2.6, 3.0, and 3.1
Bookmarks entry is either array of sub-items, or bookmark hash. Not both.
Merge pull request #61 from lentinj/master

Handle nested bookmarks properly (fixes later issue in #40)
More specific exception handling
Implementation of removeText() and removeImages(), ignoreLinks changed to removeLinks. (credit to Tien Hai)
Updating methods removeText() and removeImages()
Merge branch 'master' of https://github.com/Rob1080/PyPDF2 into Rob1080-master
Exception handling for illegal characters in Name Objects
Finish making encryption work with Python 3
Versioning for 1.20
Minor date correction
Fix for when type isn't present in pages dictionary
Merge pull request #66 from Rob1080/master

Fix for when type isn't present in pages dictionary
Tolerance for extra whitespace in Indirect Objects