send_{simple,extended} should raise an exception if the write fails

This came to light while writing the testsuite. update_source throws an
exception if the write fails (eg. due to the spool file being
read-only), why shouldn't send_simple and send_extended?

I originally had them return True/False for success, but checking
return codes is kinda lame in my opinion (this may or may not be a
religious question, meh). If we want to stick with returning bools then
the test will need to be updated from `raises` to `assert`.
Huge shakedown of the testsuite for awesomeness

This is too big and messy to easily split over several commits, but the
gist is that tests are now better grouped together, and I've added
linting to satisfy myself that the testsuite is fairly clean and sanely
done.

* Has pylint directives that should give a 10/10 score
* Docstrings up the wazoo on everything
* Some name changes to keep pylint happy
* More consistent input being tested in the send/update functions
* send_{simple,extended} now also tested for write-failure conditions
* Testing for good behaviour if user attempts to write-after-close
* Test that double-closes are handled properly
Tweak names of constants to make pylint happy about marquise_cffi.py
Tweak names of constants to make pylint happy about marquise.py
Merge pull request #3 from anchor/barney-test-cleanup-and-linting

Big cleanup of tests, accommodate pylint