Pulsar Timing and its Applications for Testing General Relativity and Gravitational Wave Detection