Concurrency review for @Component

- Document concurrency guard for component fiels with @GuardedBy
- Guard access to public component methids with assertValid()
- Guard access to component references with ValidatingReference

This adds the following guarantees:

#1 Component is valid on entry of a public method
#2 Reference is valid when used by a component