oo-admin-load-balancer: Check LOAD_BALANCER

Check the setting for LOAD_BALANCER and load the appropriate controller
and model classes.
daemon.rb: Fix controller for LBaaS

The controller is named AsyncLoadBalancerController, so use that name.
models/lbaas.rb: Add parse_jobids

Add a helper method parse_jobids, which rescues from parsing errors, for
the LBaaS model, and use it throughout.
models/lbaas.rb: Fix create_pool monitor_name

Use the default list of monitors ['http'] when create_pool is called
with monitor_name=nil.
models/lbaas.rb: Fix add_pool_members request

The "enabled" and "weight" properties of a pool member must be strings.
models/lbaas.rb: Fix delete_pool_member

The URI must include the pool's name, and the colon must be escaped.
models/lbaas.rb: Fix get_pool_members

With recent changes to the LBaaS, we can now rely on pool members having
:name attributes (and cannot rely on members having :href attributes).
controllers/lbaas.rb: Don't dequeue submitted ops

Operations should remain in @ops even after they have been submitted to
the load balancer.  We know that an operation has been submitted when it
has a non-empty @jobids attribute, and we check @ops for operations that
have been submitted so that we can poll LBaaS do find out when
operations are completed.  If we immediately remove operations from @ops
when we submit them, we never poll them, and they continue to block
other operations that depend on them.
controllers/lbaas.rb: Fix blocking_ops checks

Fix several incorrect checks for operations that block a given operation.
The problem that this commit fixes resulted from overenthusiastic use of
poetry mode.  The expression "array.include? member && a == b" is not
the same as the expression "array.include?(member) && a == b".
controllers/lbaas.rb: simplify op submission

Because the op.type and op.operands correspond exactly to the methods
and parameters of the model object, we can simplify the code by using
@lb_model.send instead of a case statement.
controllers/lbaas.rb: Print updates regarding jobs

Add some statements to print information when a job is completed by
LBaaS and when an operation is submitted to LBaaS or deleted after all
of its jobs have been completed by LBaaS.
Move control of monitor_name to daemon

Drop BIGIP_MONITOR and LBAAS_MONITOR from the default load-balancer.conf
and add MONITOR_NAME.

Modify the controllers to take a monitor_name argument for their
create_pool methods.

Instead of having the controllers read backend-specific configuration
settings for the monitor name, have the daemon read a setting for the
monitor name and pass the value down to the controllers.

Allow a monitor name to be specified using oo-admin-load-balancer
Allow per-app (or per-domain) monitors

The value of MONITOR_NAME in load-balancer.conf may now include format
codes %a and %n, for which the daemon will substitute the application's
name and namespace, respectively, when creating a monitor.

Add a MONITOR_PATH configuration setting to load-balancer.conf which may
be used to specify the health-check path to be used when creating
a monitor.  The same format codes can be used in MONITOR_PATH that can
be used in MONITOR_NAME.

Add a @monitors attribute to the controllers.

In all controllers, get the list of monitors from the load balancer and
store them into the new @monitors attribute in the initialize methods.

Add create_monitor and delete_monitor methods to all controllers and
models, and add get_monitor_names methods to all models.

The daemon will now create a new monitor if one with the given name does
not already exist.  One can thus take advantage of embedded formats in
MONITOR_NAME to create a new monitor for each application or namespace.
controllers/lbaas.rb: fix poll_async_jobs

When building the list of pairs of jobid with Operation, use flatten(1)
instead of flatten.
controllers/lbaas.rb: fix signature

In the poll_async_jobs method, fix the signature in a comment for the
jobs variable.
controllers/lbaas.rb: Fix some JSON parsing

In poll_async_jobs, fix the parsing of the JSON that is returned by
LBaaS the the status of a job.
models/lbaas.rb: Fix create_route payload

Fix the iRule payload for the create_route: Drop the else clause in the
rule and enclose the entire rule with braces, which LBaaS likes.
models/lbaas.rb: Fix create_route
models/lbaas.rb: Rescue in get_pool_members

Rescue exceptions in get_pool_members.
daemon.rb: Rescue in update.

Rescue exceptions when issuing an update.