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.
I wrote this a few months ago. I can't recall the exact reasoning but I remember passing values wasn't working for me. I was also in the frame of mind of "I wonder if I can get this working" so probably didn't look as hard as I could have at it.