Re-factored checkpoint directory detection with --recover

(refs #3440)