replaceQueryParam() with three arguments adds newVal when oldVal missing

I noticed that replaceQueryParam() called with three arguments adds the new value even [when the old value is not found.](https://github.com/johnmarkos/jsUri/commit/762fd9714edaeab59c0c47e2975a7caf4fc14581) Is this expected behavior?