Throws exception for bad url

Updated tests: reverted to assertSame where I had changed it to
assertEquals. I don't remember why I used assertSame, but I don't want
to cause a regression by changing it, so I reverted back to the original
assertions.
Adds toArray()
Adds toArray()
Adds group internet to CurlHttpAdapterTest
Adds ftp support. Closes #18