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) The component is still valid when a thread enters a public method
  2) Any reference to another component is still valid