New branch to support cookie persistance.
Preparing to add rudimentary support for URL scraping & js redirects.
Now the NxsGetter object has responsibility for all I/O, rather than
pycURL. It will choose whether the data pycURL retrieves is sent to an
in-memory buffer, or if it will be written to disk, as appropriate.

This change is needed so that we can minimize the number of curl
instances. Keeping only one handle means that curl can better handle
keepalives and other gritty networking details. The docs for libcurl encourage
this approach.
Messed up curl's cookiejar and cookiefile options last commit. Fixing.
Implemented NxsGetter.mirrors method.
Removed scraper.py scratch file. Outlined functionality implemented in NxsGetter.
Mild refactoring and improved error handling. Still not pleased with the design.
Removed a to-do time - it's been to-done.
NxsGetter.mirrors.next has surprising and possibly bug-inducing
side-effects. Calls to the function change the state of NxsGetter by altering
_buf and _write_to_fp. I inserted some comments to warn about this and
rearranged a call to mirrors.next in NxsGetter.get to fix a problem caused by
the side-effect.

This is all because of previous changes that were made to reduce the total
number of curl handles floating around. It might not be worth it.
Added get_state and set_state methods to NxsGetter in a hacky attempt
to get around the side-effect problems outlined in the previous commit
message. Also made some minor changes to NxsGetter's init args and
default values for instance vars.
messy, messy, messy
Merge branch 'cookies&scrapers'

Conflicts:
	nxs_get.py