Consider the text proto:
message { sub { key: value } }
Previously the first { was TT_Unknown, which caused the inner message to be
indented by the continuation width. This didn't happen for:
message { sub: { key: value } }
This is because the code to mark the first { as a TT_DictLiteral was only
considering the case where it marches forward and reaches a :.
This patch updates this by looking not only for :, but also for < and {.