Don't byte-compile the evil bits

Separate the parts that require evil to function. This way the evil code
can fail to byte compile while letting the rest go ahead. It also keeps
the code from breaking when evil is unavailable during compile time.
updated README v1.5.10