Prune the subtree from search for @ThriftService annotations when one is found

If you have class A implements interface B, which extends from interface C, and class A is NOT annotated with @ThriftService but interface B and C are each annotated with @ThriftService, this should be fine and not produce a conflict, because interface B's @ThriftService should hide the one from interface C.
add tests
Add support for annotations on service declarations

FB C++ thrift added a priority annotation, which influences execution order of requests. In addition to annotating methods with priorities, it supports annotating services with priorities.

This change doesn't add support for priorities, just adds support for reading annotations attached to a service so that .thrift files using this syntax will still parse in the swift generator.
Merge pull request #75 from andrewcox/fix-find-thrift-service-annotation

Prune the subtree from search for @ThriftService annotations when one is...
Merge remote-tracking branch 'upstream/master' into master2