Convert str passed as Numbers/Integer to numbers

Previously, if a number-in-a-string was passed as a Number or Integer
property, it would be validated as correct but not be converted to
an integer (it's clear that the code intended to do this but had a trivial
bug).

Unfortunately, making this change causes some backwards incompatibility.

- Previously, an AllowedValues field could have strings in it, e.g.
  ['1', '3', '5'], and this would work if a string was passed as the
  real value.
- Resource code that relied on users accidentally passing strings
  instead of numbers will now break, since it will actually be
  receiving real numbers.

You can see evidence of this in the tests I had to update
elsewhere. I don't believe any existing Heat resources are affected
by this, but it is possible that there are some templates out there
that will break.

Change-Id: I879545cae5ca52f485803a8e172c5484f3920b67
Closes-bug: #1241276
Merge "Convert str passed as Numbers/Integer to numbers"