build/ops: rpm: override %_smp_mflags if not enough memory
Sometimes the build machine has lots of processor cores and not enough
memory to successfully build Ceph on all of them at once. Calculate
how many parallel build processes we can sustain with the memory we
have and set a lower build parallelism if necessary. Never exceed
the value set by %_smp_mflags even if memory is aplenty.
Credits to Tomáš Chvátal for the original idea and implementation.