Fix SSH2 warnings

This PR fixes 2 warnings I've found in ```Git::Raw```.

1. The signature of ```git_cred_ssh_interactive_callback``` isn't quite right
2. ```libssh2.h``` should be included before ```git2.h``` to use ```libssh2```'s structures
This is what I'm seeing:

```
xcrun -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/ gcc -c  -I. -Ideps/libgit2 -Ideps/libgit2/src -Ideps/libgit2/include -Ideps/libgit2/deps/http-parser -Ideps/libgit2/deps/zlib -I/opt/local/include -DPERL_RELOCATABLE_INCPUSH -fexceptions -pipe -arch x86_64 -msse2 -mmacosx-version-min=10.8 -isystem/Applications/Xcode.app/Contents/Developer/Platfo$ms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk//usr/include -maes -D_REENTRANT -fno-common -DPERL_DARWIN -no-cpp-precomp -arch x86_64 -fno-strict-aliasing -fno-stack-protector  -Wall -Wno-unused-variab$e -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-unused-const-variable -Wno-unused-function -O3   -DVERSION=\"0.41\" -DXS_VERSION=\"0.41\"  "-I/Users/jacques/perl/lib/darwin/CORE"  -DGIT$SSH -DGIT_SSL -DNO_VIZ -DSTDC -DNO_GZIP -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DGIT_THREADS deps/libgit2/src/transports/ssh.c -o deps/libgit2/src/transports/ssh.o
In file included from deps/libgit2/src/transports/ssh.c:15:
/opt/local/include/libssh2.h:190:3: warning: redefinition of typedef 'LIBSSH2_USERAUTH_KBDINT_PROMPT' is a C11 feature [-Wtypedef-redefinition]
} LIBSSH2_USERAUTH_KBDINT_PROMPT;
  ^
deps/libgit2/include/git2/transport.h:67:48: note: previous definition is here
typedef struct _LIBSSH2_USERAUTH_KBDINT_PROMPT LIBSSH2_USERAUTH_KBDINT_PROMPT;
                                               ^
In file included from deps/libgit2/src/transports/ssh.c:15:
/opt/local/include/libssh2.h:196:3: warning: redefinition of typedef 'LIBSSH2_USERAUTH_KBDINT_RESPONSE' is a C11 feature [-Wtypedef-redefinition]
} LIBSSH2_USERAUTH_KBDINT_RESPONSE;
  ^
deps/libgit2/include/git2/transport.h:68:50: note: previous definition is here
typedef struct _LIBSSH2_USERAUTH_KBDINT_RESPONSE LIBSSH2_USERAUTH_KBDINT_RESPONSE;
                                                 ^
In file included from deps/libgit2/src/transports/ssh.c:15:
/opt/local/include/libssh2.h:274:53: warning: redefinition of typedef 'LIBSSH2_SESSION' is a C11 feature [-Wtypedef-redefinition]
typedef struct _LIBSSH2_SESSION                     LIBSSH2_SESSION;
                                                    ^
deps/libgit2/include/git2/transport.h:66:33: note: previous definition is here
typedef struct _LIBSSH2_SESSION LIBSSH2_SESSION;
                                ^
3 warnings generated.
```

The problem is that in ```transport.h``` we're defining the types if ```LIBSSH_VERSION``` is not defined. By only including ```libssh2.h``` after ```git2.h``` (which includes ```transport.h```), we're getting our fallback versions.