Codegen: int and float constant declarations

There's no proper type inference so you need to use type annotations.

This Swift code snippet:

  let x : int = 123
  let f : float = 123.0

is now compiled into the following LLVM bitcode:

  [penberg@tiberius taylor]$ ./dist/build/taylor/taylor foo.x
  ; ModuleID = 'main'

  define void @main() {
  entry:
    %x = alloca i32
    store i32 123, i32* %x
    %f = alloca float
    store float 1.230000e+02, float* %f
    ret void
  }

which compiles to the following x86-64 assembly:

  [penberg@tiberius taylor]$ ./dist/build/taylor/taylor foo.x | llc
          .file        "<stdin>"
          .text
          .globl        main
          .align        16, 0x90
          .type        main,@function
  main:                                   # @main
          .cfi_startproc
  # BB#0:                                 # %entry
          movl        $123, -4(%rsp)
          movl        $1123418112, -8(%rsp)   # imm = 0x42F60000
          ret
  .Ltmp0:
          .size        main, .Ltmp0-main
          .cfi_endproc
          .section        ".note.GNU-stack","",@progbits

Signed-off-by: Pekka Enberg <penberg@iki.fi>