Make semantic an optional require

This allows us to work out of the box with Emacs 23 on Amazon Linux