GEOMESA-88 - Authorizations SPI

Set visibilities on written data, apply authorizations to queries, allow for 3rd party service providers for authorizations
If you used the `Set` type for these authorizations, then you could write the check as 

```scala
if (!configuredAuths.subsetOf(masterAuths) && !connection.isInstanceOf[MockConnector])
  throw new IllegalArgumentException(...)
```

I wouldn't change this; I only point it out in the "it's fun to see how else it might be done" category.