Fix .d file outputs, add support for asserting outputs.

Fixes .d file generation by putting the first output file name as the
destination file, rather than the .d file itself.

Adds support for asserting that given files are in the output. This allows
the user of the build tool to assume that certain output files will be
generated while providing a way to catch errors.

R=thakis@chromium.org
Review=https://codereview.chromium.org/407693002/


git-svn-id: http://grit-i18n.googlecode.com/svn/trunk@171 7262f16d-afe8-6277-6482-052fa10e57b1
Merge tools/grit from https://chromium.googlesource.com/external/grit-i18n.git at 856ff33a9069bf62462ea2a2b88281974f97dba2

This commit was generated by merge_from_chromium.py.

Change-Id: Ic7a79c893cc3e31636116c687951e7f3a79135e3
Respect output_all_resource_defines when generating structures in resource
maps.

BUG=chromium:333201
TEST=included unit test.

Original patch by Lei Zhang at:
https://codereview.chromium.org/444053003/

Review URL: https://codereview.chromium.org/443183003

git-svn-id: http://grit-i18n.googlecode.com/svn/trunk@172 7262f16d-afe8-6277-6482-052fa10e57b1
Merge tools/grit from https://chromium.googlesource.com/external/grit-i18n.git at 6a46b04d35eade32b1270392317dca516c9dd56d

This commit was generated by merge_from_chromium.py.

Change-Id: I08c9767ca5fb215061b32b9b9a62d5fc5ef85126
Merge from Chromium at DEPS revision 288042

This commit was generated by merge_to_master.py.

Change-Id: Ic58fbacc9200ce8e802d915ee6c5bdbcb9b3b309