Feature/meta

Closes #241

* Adds support for storing arbitrary metadata on Joi schemas via `any.meta(obj)`
* Meta can be retrieved in the standard fashion through `any.describe()`
* Adds support for shallowly describing objects if that's needed `object.describe([shallow=false])`

Outstanding Question: lib/any.js L65 - should we shallow or deep copy meta, or is a mutable reference fine?