Added optional user_agreement key. Displays text that end users can agre...

Displays text that end users can agree or not before continuing with install.

This is a requirement for some software, such as skype or dropbox, that may be provided but needs extra conditions outside regular acceptable use policy that the user needs to be aware of e.g. a user must agree that while dropbox is permitted, to not store protected IP in a dropbox folder.

The added key:string pair user_agreement will contain the content of the message on a per package basis.
My need for this was purely so the user had a opt-out after clicking install, not just to display another alert dialog, hence the user was agreeing to whatever text was presented. It's not quite EULA  in scope but along similar lines. Content like "we won't support this" I feel is more of a description item however I can see a need for opting between "OK" and "Accept" if an admin does use the dialog for that. Using a dictionary item to store these values as well as title and text makes sense.

I'm not sure what would be more generic that user_agreement given the context it's written for. The point was a user had to agree to some condition before the install continued. If you can see it being used as more of an informational alert though then a more generic label may be suitable.