Drafts: Optimize deletion by not re-reading the changes

Change-Id: I3f686c7c020e42d96caf0f363e6c315b1d6b4f04
Change commit message: Optimize by not re-reading the change

Change-Id: I26cbcf8a32a019729b1f3f17ef702002e71bba79
ChangeUtil: Perform some code clean ups

Remove exception declarations that aren't thrown and use utility method
to check for string emptiness.

Change-Id: Icbe4228624366b6d4d95c59d0d45f9820dd412a2
Buck: Remove unused dependencies

Change-Id: I8adc8d58b6d8457ffcf2089c463807aaa578a542
Make handling of web links consistent

The WebLinks class now provides all web links as FluentIterables which
avoids unnecessary copying in the caller. Web links that do not have a
name or URL are now always filtered out in the WebLinks class and
callers don't need to do this anymore. In addition, if there are no web
links, the web_links field is not set in the JSON that is sent to
clients.

Implementations of *WebLink can now also return null to indicate that
no web link should be shown for the resource described by the provided
parameters.

Some of these improvements were already done for file web links by
b62414c0c and 2ae832e7e.

Change-Id: I28b98c25ab0f8c4411a6be845181560a636f5e8d
Buck: upgrade to recent version

This version fixes a critical bug [1] that prevents us from simplifying
bucklets intergration. In this version, Buck only allows defining new
rule functions in files included with include_defs, not actually
instantiating rules, so we need to reshuffle some rules.

After this commit [2] "$(macro ...)" syntax is preserved for buck
macros, we need to use a backslash to send commands directly to the
shell: "\$(macro ...)". It turns out this doesn't work yet, shell
backticks seem to work though [3].

[1] https://github.com/facebook/buck/issues/182
[2] https://github.com/facebook/buck/commit/d6f3252170abe7a6de8e7dec0cc90000147c5d10
[3] https://github.com/facebook/buck/issues/212

Change-Id: Ie99757bafc626d4ac2c5a75a2983d91b0c4f6d24
Merge "Make handling of web links consistent"
Update cookbook plugin to latest revision

- Reworked for 'Make handling of web links consistent'

Change-Id: If5e07fde298064d2aaabd4d0ce798111029d01a6
Make integration test methods throw Exception

Managing multiple exception types is not worth the hassle, and many of
them have become unused.

Change-Id: I83ebd7168dfac666c303571b9b70874be6cde93b
Merge changes Icbe42286,I26cbcf8a,I3f686c7c

* changes:
  ChangeUtil: Perform some code clean ups
  Change commit message: Optimize by not re-reading the change
  Drafts: Optimize deletion by not re-reading the changes
Merge "Make integration test methods throw Exception"