Flag labels support

It would be nice to be able to specify human-readable labels for your flags. This patch adds support for that, similar to how one might specify field choices (except this does not act as actual field.choices).  It should be completely backward compatible without breaking anything. Thoughts?