Toward pluripotency by reprogramming: mechanisms and application