Custom parameter function takes QueueItem

With the change to use QueueItem, the custom parameter function
has lost some context.  Pass a QueueItem instead of a Change in
order to get it back.

Add the parameters to the build object so that they can be used
by URL pattern functions.

Add a NEWS.rst file that lists backwards incompatible changes (of
which this is one).

Change-Id: I526850fb55e25b4b84202820dc3c313d37cbe535
Reviewed-on: https://review.openstack.org/36304
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
diff --git a/NEWS.rst b/NEWS.rst
new file mode 100644
index 0000000..fd0c32b
--- /dev/null
+++ b/NEWS.rst
@@ -0,0 +1,13 @@
+Since 1.2.0:
+
+* The Jenkins launcher is replaced with Gearman launcher.  An internal
+  Gearman server is provided, and there is a Gearman plugin for
+  Jenkins, so migration to the new system should be fairly
+  straightforward.  See the Launchers section of the documentation for
+  details.
+
+* The custom parameter function signature now takes a QueueItem as the
+  first argument, rather than the Change.  The QueueItem has the full
+  context for why the change is being run (including the pipeline,
+  items ahead and behind, etc.).  The Change is still available via
+  the "change" attribute on the QueueItem.