Fix SEGV while building autoloads for modules in Mac OS X with gcc-4.8.2
This seems to be a bad interaction between the gcc generated
switch code and with the Mac OS X pthreads stubs, which clear rax
where fun is expected by gcc to reside.
This is the minimal set of changes that fixes the issue, but now I
believe we should comb the codebase for the usage of UNLIKELY and
only keep those that are really useful.
* src/map.c: Refactor the check of NILP(fun) to be outside the
current switch, so there is an additional switch(arity) with just
the NILP(fun) branch of the old one. It was also necessary to
remove the UNLIKELY hint, which was causing the error: Invalid
regexp: "Unmatched ( or \\("
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>