Fix #616: Disallow assignments between pointers and floats

441c7f already caused errors to appear in some of the cases due to
astNewCONV() disallowing pointer/float conversions, but this patch now
adds the proper checks to astNewASSIGN() (and astCheckASSIGN()) itself.

It should also prevents warnings to appear if there will be an error shown,
at least in most cases.