Moved Timer impl back to cpp
(I thought it wasn't included on the non-main path, but it is)
diff --git a/include/internal/catch_timer.cpp b/include/internal/catch_timer.cpp
index fad86f8..ca09d7b 100644
--- a/include/internal/catch_timer.cpp
+++ b/include/internal/catch_timer.cpp
@@ -16,4 +16,21 @@
         return std::chrono::duration_cast<std::chrono::nanoseconds>( std::chrono::high_resolution_clock::now().time_since_epoch() ).count();
     }
 
+        void Timer::start() {
+           m_nanoseconds = getCurrentNanosecondsSinceEpoch();
+        }
+        auto Timer::getElapsedNanoseconds() const -> unsigned int {
+            return static_cast<unsigned int>(getCurrentNanosecondsSinceEpoch() - m_nanoseconds);
+        }
+        auto Timer::getElapsedMicroseconds() const -> unsigned int {
+            return static_cast<unsigned int>(getElapsedNanoseconds()/1000);
+        }
+        auto Timer::getElapsedMilliseconds() const -> unsigned int {
+            return static_cast<unsigned int>(getElapsedMicroseconds()/1000);
+        }
+        auto Timer::getElapsedSeconds() const -> double {
+            return getElapsedMicroseconds()/1000000.0;
+        }
+
+
 } // namespace Catch
diff --git a/include/internal/catch_timer.h b/include/internal/catch_timer.h
index d9c381c..0918286 100644
--- a/include/internal/catch_timer.h
+++ b/include/internal/catch_timer.h
@@ -17,21 +17,11 @@
     class Timer {
         uint64_t m_nanoseconds = 0;
     public:
-        void start() {
-           m_nanoseconds = getCurrentNanosecondsSinceEpoch();
-        }
-        auto getElapsedNanoseconds() const -> unsigned int {
-            return static_cast<unsigned int>(getCurrentNanosecondsSinceEpoch() - m_nanoseconds);
-        }
-        auto getElapsedMicroseconds() const -> unsigned int {
-            return static_cast<unsigned int>(getElapsedNanoseconds()/1000);
-        }
-        auto getElapsedMilliseconds() const -> unsigned int {
-            return static_cast<unsigned int>(getElapsedMicroseconds()/1000);
-        }
-        auto getElapsedSeconds() const -> double {
-            return getElapsedMicroseconds()/1000000.0;
-        }
+        void start();
+        auto getElapsedNanoseconds() const -> unsigned int;
+        auto getElapsedMicroseconds() const -> unsigned int;
+        auto getElapsedMilliseconds() const -> unsigned int;
+        auto getElapsedSeconds() const -> double;
     };
 
 } // namespace Catch