0005083: setup impossible with memory_limit = -1

This fixes the improper validation of memory_limit.
For further information see https://bugs.oxid-esales.com/view.php?id=5083

To be able to add an unit test for this case I had to change the method signature of the method `oxSysRequirements::checkMemoryLimit()`. 

Since this bug is very annoying and often happens to appear in development environments while modules for this method should be very rare I committed this to the current maintenance branch.

This is a bug fix ;)
In this case I would recommend to use dataProvider. This would allow us to see which scenario fails and which succeeds.

Something like this:

    /**
     * Provides different server configuration to check memory limit.
     *
     * @return array
     */
    public function providerCheckMemoryLimit()
    {
        $aMemoryLimitsWithExpectedSystemHealth = array(
            array('8M', 0),
            array('14M', 1),
            array('30M', 2),
            array('-1', 2),
        );

        return $aMemoryLimitsWithExpectedSystemHealth;
    }

    /**
     * Testing oxSysRequirements::checkMemoryLimit()
     * contains assertion for bug #5083
     *
     * @param string $sMemoryLimit    how much memory allocated.
     * @param int    $iExpectedResult if fits system requirements.
     *
     * @dataProvider providerCheckMemoryLimit
     */
    public function testCheckMemoryLimit($sMemoryLimit, $iExpectedResult)
    {
        /** @var oxSysRequirements $oSysReq */
        $oSysReq = oxNew('oxSysRequirements');
        $this->assertEquals($iExpectedResult, $oSysReq->checkMemoryLimit($sMemoryLimit));
    }