discovery: always import id and required props

See #808 

This patch adds `beforeSelectionChange` that prevents de-selection of properties that are `id` or `required`. It does not make sense to import a model without that properties, because such model definition would be invalid, an attempt to save it to the database will fail.

The downside of the solution proposed in this patch: there is no indication on why certain properties cannot be deselected, which may be confusing for the user. I am not sure how to solve that. We can use a different colour of the check-mark icon, add a tooltip, anything else?

/to @seanbrookes @anthonyettinger please review
/cc @altsang