Close many potential resource leaks

This pull request closes many potential resource leaks by closing all resources in finally blocks.

It also includes a patch to build.xml to read the saxon version from the Version class instead of hardcoding it in the build file.

I recommend ignoring whitespace when viewing the differences in this pull request.  Github doesn't ignore whitespace when showing the differences, but you can do that from the command-line:

> git diff -b -w 986694d 13fa597

or my favorite

> git diff -b -w --color 986694d 13fa597

Additional notes:
src/com/xmlcalabash/io/ReadableData.java
- changed so that underlying stream only gets closed manually when necessary

src/com/xmlcalabash/util/Base64.java
- Patched Base64 to prevent NullPointerExceptions and to log any exceptions
on close (instead of silently swallowing them).  The following are still viable upgrade paths for Base64 in the future:
    + Upgrade to the next version (2.3) of 
        Base64 (http://iharder.net/base64). It's not backwards compatible, as it
        throws exceptions instead of silently swallowing them, so it's not a 
        drop-in replacement.  This patch doesn't make upgrading to the next version any more difficult.
    + Upgrade to Java 8 and java.util.Base64. API not compatible, so some 
        porting would be necessary.