Replaced 'read' with high-level 'prompt' lib

/ref #199

This changes the prompt API slightly and adds the following features:

    - `grunt-init` style coloring
    - `default` can be a function (in preperation of "magic defaults")
    - if `default` is a boolean, it will display a 'y/n' prompt with proper
      validation
    - validations occurs after a value is entered and not after the whole wizard
      completed