Allow dashes and underscores in type names #296

A small change, but it does help when having to come up with task names...

Since nobody has raised any objections in #296 I have added both dashes and underscores. I can confirm I can run tasks with names like `do_this` or `do-that-as-well` as they often appear in "docs" and all seems well.