Make errors during template parsing more useful to users

Registered by Clint Byrum

Currently when there is a problem with a template, whether at validation or runtime at creation/update, the error message gives the users almost no clues about where in the template the problem has happened.

We should note:

- Resource/Parameter/Output in which the problem happened (minimum)
- Line number of YAML
- Original source of YAML (including client side get_file's)

Resources can be noted easily by keeping some context while parsing. Line numbers will require adding a custom composer to yaml, and may be even more difficult with json, I have not looked into it. The original source of everything will require clients to submit more context to the server so the error can have everything needed.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Clint Byrum
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.