tablet: add locking for schema rewind during bootstrap
tablet: add locking for schema rewind during bootstrap

Initially, the RewindSchemaForBootstrap function didn't take any locks
on the assumption that it was the only accessor of the tablet during
boot. However, that assumption wasn't true -- other threads may be
reading metrics, and fetching metrics needs to access
Tablet::components_ in order to get the current MRS size, etc.

This simply acquires component_lock_ around this code path.

This should fix many TSAN failures in alter_table-randomized-test.

Change-Id: Iec94a511b027776fc29ff4ddd846271807eca87f
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/7182
Reviewed-by: Adar Dembo <866ca730bfc7f544e3ebce604ceeba4879f23df0@cloudera.com>
Tested-by: jenkins
Reviewed-by: Michael Percy <e07a1fd797b473a9c849e618aa2ce06d8055760b@cloudera.com>

helifu/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,helifu/kudu,helifu/kudu,EvilMcJerkface/kudu,andrwng/kudu,andrwng/kudu,cloudera/kudu,helifu/kudu,InspurUSA/kudu,cloudera/kudu,andrwng/kudu,helifu/kudu,cloudera/kudu,andrwng/kudu,InspurUSA/kudu,helifu/kudu,andrwng/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,helifu/kudu,cloudera/kudu,InspurUSA/kudu,helifu/kudu,andrwng/kudu,InspurUSA/kudu,andrwng/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,andrwng/kudu,InspurUSA/kudu,cloudera/kudu,InspurUSA/kudu,cloudera/kudu,cloudera/kudu,EvilMcJerkface/kudu,cloudera/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,helifu/kudu,InspurUSA/kudu,cloudera/kudu,andrwng/kudu