Suspect in violent Portland carjacking caught