Change type deduction rules to allow integer literals to be deduced as floats.

This is an issue that came up in IRC today. It seemed strange to me that a program like `let num: f32 = 1;` wouldn't pass the type checking rules while `let num = 1f32;` does, so I'm proposing this change to make it work.
Even if we added a warning on the no-exact-representation case, why would we have a warning when there is an exact representation?