metadata: add support for struct tag options

Namely, we're interested in JSON. I took the source code for parsing
struct tags from the Go stdlib, since the functions I'm interested in
are not publicly exposed[1].

Currently, it only supports the "omitempty" option and obviously a
tag's name.

[1] http://golang.org/src/pkg/encoding/json/tags.go?m=text
metadata: fix formatting

Not every Emacs mode is perfect :(
metadata: add support for fields that are not empty but have omitempty
metadata: delay declaration of local variables
Merge pull request #6 from kyrylo/support-for-tagoptions

Support for tagoptions