Fix for bug 319, dereferencing of NULL pointers.

The "provider" pointer at that point in the code is
always NULL due to the for() loop above. The query can
only fail if the connection to the backend is lost in
that very moment.
bug 322 allow CLONE PREPARE processing to deal with an earlier STORE PATH

If a node sees a STORE PATH  event before it sees the CLONE PREPARE
that creates a node involved in that path then the CLONE PREPARE
event was failing because the node was already in sl_node.

Check for the existance for rows and update them instead

Conflicts:
	src/slon/remote_worker.c
Additional changes for bug322.

cloneNodePrepare() and many other places need to grab
the central config lock. They heavily rely on checking
things via "not found", which inherently has a race
condition.

Conflicts:
	src/slon/remote_worker.c
note: removed src/slon/remote_worker.c changes from
the cherry-picked patch they aren't actually part of 322
From fccfb06687588c6155f0f77665be358837dd47e1 Mon Sep 17 00:00:00 2001
From: Steve Singer <ssinger@ca.afilias.info>
Date: Thu, 24 Oct 2013 21:29:32 -0400
Subject: [PATCH] fixing the failover unit test.

It is sometimes possible for node 4 to get unsubscribed from
set 1 because it doesn't have a subscription to set 2 but
might be the farthest ahead node (but it isn't a failover candidate)

Resubscribed node 4 before continuing on with the next test
Disable the "not expect lag" check from disorder ExecuteScript.
"Apparent" lag of 10 seconds can happen, the way confirm
messages propagate back to the origin.
add a regression test for EXECUTE SCRIPT using a non-provider event node
bug 321 - Stop reconnecting to providers

Event origins that are not set origins will have
multiple  li_origin/li_receiver pairs in sl_listen
we listen for events from these origins from multiple
sources.   This means a node such as node 2 might
receive an event from ev_origin=1 via event provider 1
then receive the next event with ev_origin=1 from
event provider 2.  Slon keeps connecting and
disconnecting from these providers.

Instead keep of dropping the connections to
event providers we keep them around unless
a reconfiguration has taken place.  This lets
us use the connection for the event_provider
we received the event from.
bug 321 - fix to the previous patch for when we have multiple real providers

If the provider list contains multiple providers that actually provide
a set (set_head != NULL) then we want to use those providers and
not skip them
Folding slon.stop() and coordinator.join(slon) into one loop.

Stopping the slons and joining their processes in separate
loops apparently can cause the regression test to hang under
some rare race conditions.
Disable the "known failing" disorder tests.
release notes update