Adding /opennms/rest/ifservices ReST API for manage/unmanage services

1) Obtain a list of monitored services and their status

GET /opennms/rest/ifservices?[optionalFiltersHere]

Returns a list of OnmsMonitoredServiceDeail entities, which provides
better information than OnmsMonitoredService.

2) Change the status to unmanage:

PUT "status=F" /opennms/rest/ifservices?[optionalFiltersHere]

or

PUT "status=Forced Unmanaged"
/opennms/rest/ifservices?[optionalFiltersHere]

3) Change the status to manage:

PUT "status=A" /opennms/rest/ifservices?[optionalFiltersHere]

or

PUT "status=Managed" /opennms/rest/ifservices?[optionalFiltersHere]

4) Proposal for Filters

node parameters like: nodeLabel, foreignSource, foreignId, sysObjectId
node categories: categoryName
IP interface parameters like: ipaddr

Example:

ifservices?node.foreignSource=Blah
ifservices?category.categoryName=Blah

5) How it works

a) Find all OnmsMonitoredService instances that match the given filter
(i.e. all rows from ifservices table)
b) For each row set the status to be "F" (Forced Unmanaged) or "M"
(Managed)
c) For each unique service involved, send a
uei.opennms.org/internal/poller/suspendPollingService event (when the
status is changing from M to F) or send a
uei.opennms.org/internal/poller/resumePollingService (when the status is
changing from F to M), in order to notify Pollerd about the change and
take actions immediately.