Make interface header usable in generated code

- Include a semicolon after enum declarations
- class declarations automatically use public inheritance,
  no need to duplicate this
- declare a meaningful header guard

Bug: 24938116
Test: Compiles, unittests pass, generated header looks right.

Change-Id: I7a77fd15ef139759cad9b21d6702b35ddf187699
4 files changed