Fix SIP options scanning

There were several problems with these modules which I have addressed:

* Multiple Allow headers are possible, perhaps even common, and these were only getting the first
* In the event that the Proxy-Require header was present, it overwrote any previous *Server* value and then didn't even report on Proxy-Require
* Was only reporting the User-Agent.  Server is similarly important.
* Duplicated code between the two

Unfortunately I don't have access to anything with a UDP SIP endpoint so I can't test that options works, however the code is nearly identical so it should be OK.  Also, the other SIP modules could use similar attention and I can take that on as part of this PR if desired.

Before:

```
```

After:


```
[*] a.b.c.d SIP/2.0 {"verbs"=>["ACK", "BYE", "CANCEL", "INFO", "INVITE", "NOTIFY", "OPTIONS"], "server"=>["RTCC/3.5.0.0"]}
```