Check for unicode byte order marks (BOMs) in Newick trees under Python 2

Cherry-picked from pull request #241 / #310
Thank Nigel for Newick unicode BOM fix
Split unit test method into three smaller tests
Mark Tests/SubsMat/acc_rep_mat.pik as binary to solve Pickle problem

If the pickle file has DOS/Windows newlines which can happen under
Windows depending on how git was configured, the C based pickle code
in Python 3.4 fails to to load it with this exception:

_pickle.UnpicklingError: the STRING opcode argument must be quoted

See test_SubsMat.py and this thread on the mailing list for background:
http://lists.open-bio.org/pipermail/biopython-dev/2014-April/011274.html
Tweak doctest for int vs long issue on 64 bit Windows

Rather than (7, 52), Manlio Calvi reports getting (7L, 52L)
with 64 bit Python 2.7 under Windows 7, see mailing list:
http://lists.open-bio.org/pipermail/biopython-dev/2014-April/011276.html
Specify encoding for test to pass on Windows

Also minor style changes (PEP8 white spaces).
update the NEWS (Bio.CodonAlign)
add experimental warning to Bio.CodonAlign
put each chapter of Tutorial into seperate tex files
return a generic_nucleotide alphabet when slice a CodonAlignment
add Bio.CodonAlign to Tutorial and several other changes
move \end{document} from Tutorial/chapter23.tex to Tutorial.tex
remove doc.rst
add %doctest and %cont-doctests to chapter18.tex for Tutorial docstring testing
split Tutorial into separate chapters
typo bug fixing
update test_Tutorial.py to test each chapter