Used std::atomic<int> and explicit m_refCount(0) to initialise.
Visual Studio 2012 doesn't support the `= delete` syntax so simply made copy constructors and assignment operators private with no implementation. VS2013 does seem to support it but we still need to support VS2012.