Make validation check for legal service port numbers.

I thought I would have a crack at the bug "Service port validation #974".
This request only deals with checking valid port numbers in the Port field of Service but does not deal with port number clashes between multiple services.
Optional: this test looks ripe for conversion into a table driven test (test pairs of service + expected error count).