Fixed #978 - Ensured path segments containing colons are decoded

Squashed commit of the following:

commit 171b9ad79f5d97375c525bb11649b923f91fced1
Author: Arthur Gautier <aga@zenexity.com>
Date:   Tue Apr 9 08:06:09 2013 +0200

    Change test to new pattern

commit b4c521963612c984efd96d57b81f6cf5542d3f3d
Author: Arthur Gautier <aga@zenexity.com>
Date:   Tue Apr 9 08:05:46 2013 +0200

    Add test for invalid encoded character

commit 8f13cca56e599f8807b20409baaaf640a79487b9
Author: Arthur Gautier <aga@zenexity.com>
Date:   Tue Apr 9 07:55:10 2013 +0200

    Fix as jroper suggested

commit 63f298c139b4726edae0795a6f404ca453ad512b
Author: Arthur Gautier <aga@zenexity.com>
Date:   Mon Apr 8 22:37:02 2013 +0200

    Do not return null if param is not correctly encoded

commit 81e48f853edfa62bdc7cb662be42b2186b8edf3f
Author: Arthur Gautier <aga@zenexity.com>
Date:   Mon Apr 8 21:46:16 2013 +0200

    non-encoded string should not return null