Fix GN action target writing with no sources list.

Properly write outputs of actions that have no sources list. Previously this would lead to empty output lists in a build rule because the writer code was trying to apply the sources list to the output substitutions list. However, for actions, the output is the literal file list and should have no substitutions.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/tools/gn@289109 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
GN: Bug fixes in process_file_template

process_file_template would fail when the template argument was a string instead of a list, but the previous behavior (and the documentation) describes it as being able to take a string or a list as an argument.

It would also fail if the result was not an absolute file. This is required for most uses of sources expansions, but not for process_file_template which just returns the strings of whatever the results were. This adds "AsStrings" version of the sources expansions writer.

R=jamesr@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/tools/gn@289112 4ff67af0-8c30-449e-8e8b-ad334ec8d88c