- move cookie handling into request, add
  lazy initialization
- add test coverage
- QA: fix missing apidoc
- QA: Reformat
- Fix ClassLoader::registerPath() to also support XARs in XARs
# Part 1: is_file() checks for mode & 0100000, so return 0100644 in XAR stream wrapper
# Part 2: No longer call realpath() inside registerPath(), cannot resolve xar://...
# Part 3: Change ArchiveClassLoader::instanceFor() to not expand xar://
# See issue #259
- Refactor tests so that expected / actual mismatch becomes more transparent
- Register class loader so that test class path is available
# See issue #259
- Add addSourceLoader() method for easier testability
- Ensure we always have the test class path available
# See issue #259
- Do not rely on io.streams.InputStream::read(X) returning X bytes
# See issues #220 and #259
- Ignore ExifDataTest::exifSampleKodakDC210() for impl based on PHP
# Not reliable within XAR files, see issue #259
- Normalize URI according to http://en.wikipedia.org/wiki/File_URI_scheme
# See #259
- Use well-known path in tests for base accessors
# See #259
- Chang xar:// handler to accept "?" in urlencoded form
# See #259
- Normalize "?" in xar:/// uris to ";" so basename calculation will work
# See #259
- Re-enable src/test/*
- Fix xar wrapper url_stat() to also support ";" -> "?" normalization
- Remove ability for multiple classpaths in one element
# This is not portable and hinders us from using "xar://foo.xar?bar"
# on Unix
- Announce: Removal of ability for multiple classpaths in one element
# This is not portable and hinders us from using "xar://foo.xar?bar"
# on Unix - see #259
- Add tests verifiy xar:// and res:// schemes are allowed
- Refactor: Change io.File no longer to use pathinfo()
# Instead, split string up ourselves