implement option optimize_for = LITE_RUNTIME

With LITE_RUNTIME option:
* code generator omits reflection
* generated files do not contain binary .proto where it was generated from
* Show is implemented with #[deriving(Show)] instead of text_format
remove add_xxx functions from generated code

Because

```
m.add_xxx(v)
```

can be trivially replaced with

```
m.mut_xxx().push(v)
```

This change slightly decreases the size of generated code.