Added the ability to hide service in problems view

The Web UI automatically hides hosts or services in the problems view if the authenticated user is not set as contact or contact group member. This implies that the user will not receive any notification about this host/service (he's not set as contact).

This patch allows to hide some services in the Web UI without having to be removed from contacts list. This is mostly useful for services which you still want to be alerted for by mail (on any notification channel), but do not want to have them displayed in the problems view. For instances, problems which state may affect services an admin is responsible for, but should be fixed by another one.

It adds an host or service attribute named `hide_in_ui_problems`, and a contact attribute named `hide_ui_problems`.

For a problem to be hidden, both tho host/service `hide_in_ui_problems` and the contact `hide_ui_problems` flag have to be set.

Only people with the `hide_ui_problems` flag set have problems hidden. This also applies to the a admin users (`is_admin` flag set).

An host that has the `hide_in_ui_problems` flag set is hidden with all its services.

No change should be needed in the Web UI module.