Add DynamicInvoke

This adds a method for invoking the libsodium DLL dynamically, so we
don't need to double DllImport statements anymore. This should make the
code cleaner, and easier to maintain.
Add Mono run-time check

This goes back to using a a different library name for mono, hopefully
this will help with the Linux issues (yet works fine on OSX for some
reason)
Merge pull request #73 from adamcaudill/dynamic_invoke

Add DynamicInvoke