Start to implement rich_signature.
Implement "matches" for strings.
Remove dead code.
Merge branch 'master' into richpe

Conflicts:
	libyara/grammar.c
Use IMAGE_FILE_MACHINE_AMD64 appropriately.
Merge branch 'master' into richpe
Revert string_argument being SIZED_STRING.

This was a bad move, if you want to pass a string that contains NULL
characters, it's better to store the data to search in a variable and
use "contains" or "matches" in the rule.
Chase string_argument revert.
Use calloc() instead of malloc().

This is needed to ensure the structures I use to track imports are
properly zero'ed.
Implement import hashing.
Merge branch 'master' into richpe
Fix missing IMAGE_FILE_MACHINE_AMD64.
Use -lcrypto.

I'm not happy with this change at all, but it does allow the build to work.

I want to make this an optional thing, default to on. If it is off
pe.imphash() should return UNDEFINED.

I also want to scope this down a bit so yarac doesn't end up getting
-lcrypto too.

I imagine this will need to be revisited by someone with a better
understanding of the build.
Remove comment that is OBE.
Remove comment that is OBE.
Pass length of string properly.
Fix comment.
Switch from using OpenSSL to stand-alone MD5.

The MD5 implementation was taken from:

https://github.com/B-Con/crypto-algorithms

It is in the public domain. Only changes were to rename duplicate type
definitions.
Merge branch 'master' into richpe

Conflicts:
	libyara/include/yara/exec.h
Fix early returns.