Change dap::integer backing type to int64_t

`int` may be < 64 bit, and some dap protocols use a 64 bit integer. Chnage to `int64_t` to be consistent.

Fixes: #45
diff --git a/examples/hello_debugger.cpp b/examples/hello_debugger.cpp
index 342e862..62b619f 100644
--- a/examples/hello_debugger.cpp
+++ b/examples/hello_debugger.cpp
@@ -50,7 +50,7 @@
 You may also notice that the locals contains a single variable for the currently executing line number.)";
 
 // Total number of newlines in source.
-constexpr int numSourceLines = 7;
+constexpr int64_t numSourceLines = 7;
 
 // Debugger holds the dummy debugger state and fires events to the EventHandler
 // passed to the constructor.
@@ -68,7 +68,7 @@
   void pause();
 
   // currentLine() returns the currently executing line number.
-  int currentLine();
+  int64_t currentLine();
 
   // stepForward() instructs the debugger to step forward one line.
   void stepForward();
@@ -77,21 +77,21 @@
   void clearBreakpoints();
 
   // addBreakpoint() sets a new breakpoint on the given line.
-  void addBreakpoint(int line);
+  void addBreakpoint(int64_t line);
 
  private:
   EventHandler onEvent;
   std::mutex mutex;
-  int line = 1;
-  std::unordered_set<int> breakpoints;
+  int64_t line = 1;
+  std::unordered_set<int64_t> breakpoints;
 };
 
 Debugger::Debugger(const EventHandler& onEvent) : onEvent(onEvent) {}
 
 void Debugger::run() {
   std::unique_lock<std::mutex> lock(mutex);
-  for (int i = 0; i < numSourceLines; i++) {
-    auto l = ((line + i) % numSourceLines) + 1;
+  for (int64_t i = 0; i < numSourceLines; i++) {
+    int64_t l = ((line + i) % numSourceLines) + 1;
     if (breakpoints.count(l)) {
       line = l;
       lock.unlock();
@@ -105,7 +105,7 @@
   onEvent(Event::Paused);
 }
 
-int Debugger::currentLine() {
+int64_t Debugger::currentLine() {
   std::unique_lock<std::mutex> lock(mutex);
   return line;
 }
@@ -122,7 +122,7 @@
   this->breakpoints.clear();
 }
 
-void Debugger::addBreakpoint(int l) {
+void Debugger::addBreakpoint(int64_t l) {
   std::unique_lock<std::mutex> lock(mutex);
   this->breakpoints.emplace(l);
 }
@@ -156,7 +156,7 @@
 }  // anonymous namespace
 
 // main() entry point to the DAP server.
-int main(int, char* []) {
+int main(int, char*[]) {
 #ifdef OS_WINDOWS
   // Change stdin & stdout from text mode to binary mode.
   // This ensures sequences of \r\n are not changed to \n.
diff --git a/include/dap/types.h b/include/dap/types.h
index 8d02e0f..7954e87 100644
--- a/include/dap/types.h
+++ b/include/dap/types.h
@@ -25,6 +25,8 @@
 #include <unordered_map>
 #include <vector>
 
+#include <stdint.h>
+
 namespace dap {
 
 // string is a sequence of characters.
@@ -52,9 +54,9 @@
 class integer {
  public:
   inline integer() : val(0) {}
-  inline integer(int i) : val(i) {}
-  inline operator int() const { return val; }
-  inline integer& operator=(int i) {
+  inline integer(int64_t i) : val(i) {}
+  inline operator int64_t() const { return val; }
+  inline integer& operator=(int64_t i) {
     val = i;
     return *this;
   }
@@ -65,7 +67,7 @@
   }
 
  private:
-  int val;
+  int64_t val;
 };
 
 // number holds a 64-bit floating point number.
diff --git a/src/session.cpp b/src/session.cpp
index 4ea85a4..c8005dd 100644
--- a/src/session.cpp
+++ b/src/session.cpp
@@ -167,7 +167,8 @@
       }
     }
 
-    std::pair<const dap::TypeInfo*, GenericResponseHandler> response(int seq) {
+    std::pair<const dap::TypeInfo*, GenericResponseHandler> response(
+        int64_t seq) {
       std::unique_lock<std::mutex> lock(responseMutex);
       auto responseIt = responseMap.find(seq);
       if (responseIt == responseMap.end()) {
@@ -252,7 +253,7 @@
         requestMap;
 
     std::mutex responseMutex;
-    std::unordered_map<int,
+    std::unordered_map<int64_t,
                        std::pair<const dap::TypeInfo*, GenericResponseHandler>>
         responseMap;