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.
This wording seems clunky. And what if the admin wanted to use this mechanism for a slightly different purpose, like to inform users about something else about a piece of software before they install it that's not strictly an "agreement": "ATTENTION: Foo.app is made available without support. Please do not contact the Help Desk for issues with this software" or "Please check with your department head before installing this."

It feels like "user_agreement" should be something named a little more generically, and it might need to be a dictionary containing title, description, OK button title and Cancel button title. And then of course there is the request that pkginfos have localized descriptions, display_names, categories, etc, so we should plan for that as well. (Of course, I have not yet decided exactly _how_ to handle that...)