Validate cabal package name not having numeric-only words

This closes #550 

I initially had the validity check inline with the other checks (first commit), but then broke it out into a separate function to reference the issue it resolved + the relevant cabal docs (unsure if that was really necessary).

Example of this caching an invalid name:
```
maximilians-mbp:yesod-bin Max$ cabal run yesod init
Preprocessing executable 'yesod' for yesod-bin-1.2.9.4...
Welcome to the Yesod scaffolder.
I'm going to be creating a skeleton Yesod project for you.

What do you want to call your project? We'll use this for the cabal name.

Project name: yesod-test-1
That was not a valid entry, please try again:
```

I'm somewhat new to Haskell so if you have any comments on how I could have improved my code that'd be great.