Fix Hash::sort() 'natural' type fallback on PHP < 5.4

This commit also change the method behavior. I tested this on PHP 5.3 where

    Hash::sort($a, '{n}.Person.name', 'asc', 'natural');

throws notice and warning and result is not sorted at all.