Implement transit network functionality for service chaining

Following changes have been implemented in control-node:

- Schema change to add allow-transit to VirtualNetworkType
- BGP instance config keeps track of allow-transit attribute
- RoutingInstance is updated with allow-transit from config
- Tweak service chaining code to re-originate routes that are
  in the dest routing instance, even if their OriginVn is not
  the same as dest instance.  This exception is made only if
  the VN of the dest instance is a transit VN. The OriginVn
  for such routes is set to be the VN for the dest instance.
- Handle changes in allow-transit attribute
- Add tests for the new functionality

Limitations (to be enforced in API server via follow-up commit):

- A VN cannot be connected directly to a transit VN - it must
  be connected via a chain of 1 or more services.
- The allow-transit attribtue can only be set when creating a
  VN, it cannot be updated later.

Change-Id: I9c81ba61a3bf0e8db04577b09ee26aa5aa60ad4d
Partial-Bug: 1365277
Merge "Implement transit network functionality for service chaining"