resolves STREAMS-239

use apache URL decoder - sun's version threw errors in edge cases
explicitly check for URL validity
updated test to match change in processor contract - return each url at most once
Well it's not really a server error, because the url isn't actionable, but I'm not sure 404 Not Found is not really appropriate either.
Asking myself WWGD...
https://developers.google.com/gdata/docs/2.0/reference?csw=1#HTTPStatusCodes
I'll change this condition to return 400 - Bad Request.