Optionally fail analyze actions if warnings are produced

This PR resolves issue #94 and also contains a commit to avoid encoding '(null)' into the intermediates directory path if the "effective platform" is unknown.