Make bgp hold-time configurable per bgp-router.

Note that the code already implements hold time negotiation.

Add hold time tests to bgp_config_test.cc.
Add hold time tests to bgp_config_manager_test.cc.
Add hold time test to bgp_server_test.cc.
While we at it, also add tests for AS and RouterId change to
bgp_config_test.cc. and bgp_config_manager_test.cc.

Most changes to state machine and related tests are side-effects of
renaming GetDefaultHoldTime to GetConfiguredHoldTime and making it
non-static.