closes issue #42, self.buffer decoded implicitly

create a unit tests which otherwise failed for python3 only: mock the
return value of set_unique_prompt for a value of False, which causes
ExceptionPxssh to raise.

previously, displaying self.buffer within the exception causes
bytes() to be implicitly decoded to str (unicode type in py3). python2
didn't care. it is implicitly decoded as 'ascii' encoding, without
warning.

Then, use the %r to represent it as b'xyz' in python3. Also, display
what we expected to be more helpful for the user. What is actually
happening here is the 'set PS1=' command is used so that pexpect can
more regularly understand when the prompt is awaiting command input, and
it is set to something more predictable. You'd be suprised what kind of
hackery can happen to prompt values even if PS1 is explicitly set,
especially in today's oh-my-zhs and git-prompt.sh extensions.
assertRaises is not 2.6->3.x compatible
display expected prompt as PROMPT, not PROMPT_SET_SH

completes issue #44; thanks to @takluyver for keen eye.
Merge pull request #43 from pexpect/issue-42-cannot-implicit-bytes-to-str

closes issue #42, self.buffer decoded implicitly