Mark client constructor as explicit

While here, refactor all the constructor declaration modifiers into an
enum and use that instead of endless boolean flags.

Bug: 24938116
Test: unittests pass

Change-Id: Ibb6e20a69b90a76e2995abc2e9d02c8744f10b58
4 files changed