Use OptionParser for the lucky CLI
Fixes #724
The one part this is still missing is when you're in an application and run lucky -h, it still won't show the lucky dev command because this isn't registered in the same app context. When you're out of a lucky app directory, it will show lucky dev which doesn't make a whole lot of sense since you can't actually run it....
My thought here is instead of LuckyTask expecting -h to list these, maybe it could use something else like lucky tasks here https://github.com/luckyframework/lucky_task/blob/21620eed496610442ee33712c49c726e62fa09c9/src/lucky_task/runner.cr#L14
If we did this, then people could always run lucky -h and when in an app directory, it could show lucky dev and lucky tasks as the available commands. Then when outside of an app directory, it could show lucky init and lucky init.custom as the available commands.
This would be a breaking change. This doesn't fix the issue of not showing lucky dev when you see the tasks, but you would see it when running lucky -h.