A bunch of minor changes to allow compilation with Visual Studio 2013.

VS2013 (non-CTP) doesn't seem to allow c++11 uniform initialization syntax or noexcept. The CTP seems to compile, but the IDE shows syntax errors and it's really frustrating so I've just stripped all mention of those two from the code. Hopefully I haven't missed anything.