Close #9: Validate `activities`

* Special validator for activities.*.filters

* Support for `pattern`

* Support for `minProperties` and `maxProperties`

* Better support for "type":"number"

* Rearrange layout of index.js

  * validate() function moved to the top as intro to the module

  * Put utility functions at the end of the file

* Tests