Add Server.socket property.

- Connection already has a similar property.

- This is useful for binding a service to port 0 and then finding out
  what port it actually got.
Merge pull request #3 from abarnert/socket

Add Server.socket property.
Port from python 2.5-2.7 to 2.6-2.7/3.2+.

- Besides the trivial syntax changes, this required changing the
  Connection.write_line loop to keep _wbuffer as a flat bytes string
  instead of a list of strings. (Since it was already flattening each
  string and then exploding it into a list of 1-char strings, there's
  no performance downside to thsi change.)

- As a side-effect of the changes, Connection.write and friends can
  now handle either bytes or unicode strings. Since the high-level
  methods are all in terms of JSON objects, this only really makes a
  difference for debugging bjsonrpc itself. (The json module will
  only give us str objects--bytes on 2.x, unicode on 3.x--and any
  non-ASCII characters will already be escaped for JSON anyway.)
Merge pull request #4 from abarnert/py3k

Port from python 2.5-2.7 to 2.6-2.7/3.2+.
bugfix: Correctly raise EofError when the connection was unexpectedly closed (happens on Windows)