Implementation of secure param for PageUrlAnnotation

There are a few things I am not 100% sure:
- should `$secure` always overwrite the protocol? even if it is not present.
- introduce `$secure` property and getter? Just now I alter the protocol to the current passed value of `$secure`
- comments of the new `$secure` param, quite a lot of information for a single line

Closes #63.
In that case its the question why test the merge function here? We only need to test the additional functionality of handling the `secure` param and returning the components.
Normally it would be enough to check if we call merge of the parser, but with the lastest change its no longer possible to inject a proxy mock. I am not sure if its really a good idea to duplicate all test cases of `merge` again.