Updated `get_pi_shift` and added its references to sin

Updated get_pi_shift so that it checks the dict to match symbol pi
and makes sure the arg is of form n*pi/12 where n is an integer.
Also updated the is_canonical and sin functions to use the
`get_pi_shift`. So now, on calling sin if the arg is of form
`n*pi/12` its value is returned instead of creating an instance
of sin.