Fix make -j16 build breakage caused by multiple problems

First, 'make modules', not just 'make', when recursively making, ahem,
modules.  Thanks Jeff Eppler for setting me straight.

Second, this line creates a race condition:

$(FLAVOR_ULAPI_SRCS) : rtapi/$(threads)/%: rtapi/%
	test -L rtapi/$(threads) || ln -sfn . rtapi/$(threads)

Here, for example, rtapi/posix/rtapi_task.c depends on
rtapi/rtapi_task.c, and likewise rtapi/posix/rtapi_io.c depends on
rtapi/rtapi_io.c.

Two parallel processes running the recipes for these targets will both
run 'ln -sfn' at the same time.  Of course this is a race condition
and they can collide.

The solution is to create the symlink in its own, separate target,
which the rtapi/posix/*.c targets depend on.  This way, only one
parallel make process creates the symlink and no more collisions.