Before this change Fields() method on a metric parsed from a line with
unescaped quotes could panic. This change makes such line unparseable.
Fixes#3326
main reasons behind this:
- make adding/removing tags cheap
- make adding/removing fields cheap
- make parsing cheaper
- make parse -> decorate -> write out bytes metric flow much faster
Refactor serializer to use byte buffer