Support better prompts

Resolves #30 

This change maintains backwards compatibility with the old format, so a context version isn't really necessary (although it wouldn't hurt if the context supported it).

Currently only supports one `type` of boolean, so that context parameters can be used in `if` blocks. Without this support you can't really have a default of `True`, and have the user enter `False` (because any value the user enters would be `True`.  I suspect there will  be other types that can be added here.