Wikimedia small bugfixes

Debugging a problem with superfluous newlines inserted into the wikimedia XML dump, identified the problem as the new use of the EoL bespoke FileIterator() code, which strips newlines. These are then put back on in WikimediaHarvester(), which results in a newline being erroneously added at the end of each part_XXX file. We cannot correct this in the WikimediaHarvester code, because if we delete the last newline of the file, we might be accidentally deleting a newline that happened to be present just before the split. The correct way to do this is to pass an option to FileIterator to keep newlines, which is implemented here.

Any other code which uses FileIterator to iterate through large files split into several pieces (? wikiPEDIA?) should also make use of this new parameter.

The final bug in the API calling is a limitation on the length of API URLs, which was causing some API queries to fail (and hence losing us batches of 50 files at a time). See https://www.mediawiki.org/wiki/API:FAQ#do_really_long_API_urls_not_work . This can be hacked around by calling the batch processing routine early if the combination of all the urlencoded title strings gets too long.

This pull request also makes a tweak to the make_valid_pagetitle() code to keep unicode formatting characters in titles, as seen e.g. in https://commons.wikimedia.org/wiki/File:Môr-wiail_Byseddog_%C2%96_Laminaria_digitata_-_Kelp_-_geograph.org.uk_-_692907.jpg

Finally, a proper user-agent string is implemented (email address set to tech@eol.org, see http://eol.org/forums/7/topics/50