typechecker: recognize binary int literals

Summary: The binary int syntax (##0b101## for ##5##) is a handy syntax
 for certain use cases (such as declaring constants for bitwise
 masks), which wasn't being lexed as an int literal as an oversight.
 As with ##0x##, we don't recognize the alternate form ##0B##.

Reviewed By: @jwatzman

Differential Revision: D1533071
Remove xls support in x64 backend

Summary: D1530245 Removed the calls to it, this removes the now-dead code.

Reviewed By: @markw65

Differential Revision: D1530650
Added primitives for generic constraints

Summary: I added a check in Typing_subtype to allow for generics to have a
primitive type as a constraint.

Reviewed By: @jwatzman

Differential Revision: D1523271