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.