Using URLDecoder instead of String.replaceAll

See https://github.com/fcrepo4/fcrepo4/commit/494ab59e9c3a14794aebbb1bfe7c4700e076d49d#commitcomment-7172975
@escowles, I think that instead of working around erroneous mocking, we should write the correct functional code and mock accordingly. The "testAddedStatement" works by changing line:158 to:
        when(mockSubjects.getPathFromSubject(mockSubject)).thenReturn("/some/path");
        when(mockSession.getNode("/some/path")).thenReturn(mockSubjectNode);

I assume a similar update will work for the other tests.

@ajs6f, as for the semantics of getPathFromSubject(), it appears to depend on the IdentifierTranslator implementation. HttpIdentifierTranslator requires a valid JCR input path.