Define macros before they're used. 

Hi Peter. 

Since upgrading to Emacs 24.3.1 OSX (installed via latest homebrew formula),  I've been getting the error mentioned in issue https://github.com/pezra/rspec-mode/issues/43. 

I was able to get rid of the issue by re-evaulating rspec-compile after the package is loaded and ultimately correct the issue by moving the macro definitions in rspec-mode.el so they are defined before use.

It may have something to do with macros and byte compilation as described here: http://www.chemie.fu-berlin.de/chemnet/use/info/elisp/elisp_13.html, but I'm not very good with elisp so I can't say for sure. 

I'd really like to know definitively why this is happening and different than 24.2.1 but I can't seem to figure out exactly what's different with the macro expansion. I just know I have this symptom and this fixes it so I figured I'd submit a pull request.