Use INFINITY and NAN instead of strtod

This fixes an error `syntax: overflow in numeric constant "0"` in MSVC builds (thanks @vtjnash for figuring this out). `strtod` is not C99 compliant in any currently-released version of Visual Studio, [though it will apparently be fixed for the next release](https://connect.microsoft.com/VisualStudio/feedback/details/794104/strtod-does-not-implement-the-c99-c-11-standard). The `INFINITY` and `NAN` identifiers were added to `math.h` only in VS 2013. Could  maybe fall back to `openlibm.h` instead? Ref. #6230 and #6349.

Also adds `extern "C"` on bitvector - there will be several more of these, for ccall-only functions that weren't needed to link libjulia or the REPL exe.