first attempt at generating a crashdump:
not sure if const_cast is a good idea;
should also create a dump if exception is not AV;
should log dump filename for reference.
crunshed all newlines into unix format
Significant changes:
new structures to extract hook and host executable information from the dll itself
section .syexe00 is reserved for acceptable host executable information
section .syhks00 is reserved for hook injection info - inj files are no longer parsed
If you need to change the new structures, make sure their alignment is at least 16, and put them into higher numbered sections to help versioning
For more info on how to use these changes, see the changes in YR++ and Ares.

Also changed version string. Woo.
Log the target executables time stamp also.
Log the target executable's file size.
Compute the CRC32 value of the target executable and log it.
Only generate the list of all hooks once.
Extract inj file parsing into a new method.
Parse the hooks into a temporary vector

This way we can generate meta data from them for authentication checks and apply or discard the hooks based on the result.
Merge remote-tracking branch 'remotes/origin/feat-injless' into syringe07

SyringeDebugger::FindDLLs() still supports legacy injection files. Order of accepting the target executable and retrieving the hooks has been switched.

SyringeDebugger::ParseHooksSection() has been updated to add the hooks to a temporary buffer.

Conflicts:
	SyringeDebugger.cpp
	SyringeDebugger.h
Count and checksum the hooks added to the temporary buffer.
Added support for a handshake function.

The function can be exported by an injection DLL and it will get called with information about the target executable and the hooks that are to be used. The DLL can than decide whether the target is appropriate and also provide a message that may contain version information or an error message.

The handshake function has to be defined as
extern "C" __declspec(dllexport) HRESULT __cdecl SyringeHandshake(SyringeHandshakeInfo* pInfo)

Valid return values are S_OK, if the DLL is to be used, or S_FALSE, if it is not to be used. Return E_* values to indicate errors (the DLL is not used in this case, and no Message is put in the log file).
Make the code compile.
Disable dump generation for now.
Log any exception Syringe encounters.
Updated version information.
Use delete[].