A German man has been beheaded by Abu Sayyaf militants in the southern Philippines after a deadline to pay his ransom passed, the Philippine government has said.