macros: Key annotation

added `Key` annotation and corresponding support in macros

example 
```scala
case class Website(@Key("_id") url: String, content: Content)
```
maps `url` in case class to field `_id` in BSON in the generated handler