Fix: message for numeric property names in quote-props (fixes #1459)

Added a few test cases to hit some previously uncovered code. Coverage is now at 100% for `lib/rules/quote-props.js`. Also refactored a bit to reduce complexity and nesting.