Implementation of interfaces
-- Interface DiscoveryInterface method
     PendingOperation findServices(ServiceType serviceType, FindCallBack findCallBack, Options options, Filter filter)
-- Interface FindCallBack method
     void onError(DOMError error)
-- Interface PendingOperation method
     void cancel()

This is part of a joint commit together with webinos-jsonrpc2.

Jira issue: WP-703
Jira issue: WP-684
Jira issue: WP-688
Jira issue: WP-301
Merge remote-tracking branch 'gguowei/wp-703' into WP-703-wei
FindCallBack impl refinements

PendingOperation constructor now takes cancel function parameter, for
better information hiding. Don't use delete, garbage collection will take
case of unreferenced objects. Store rpc request instead of pendingOp in
callerCache. DOMError uses name instead of type property

Jira-issue: WP-703
findServices as instance function

Change findServices to be an instance function, so more variables can be
private inside the ServiceDiscovery.

Jira-issue: WP-703
More ServiceDiscovery tests

Add tests for PendingOperation, AbortError, TimeoutError.

Jira-issue: WP-703
Merge pull request #425 from aldafu/WP-703-findServices-refinements

Wp 703 find services refinements