Remove (c)transpose definitions from operators.jl. Add them to string.jl

The definitions gives silent errors for matrix types that don't define `transpose` whenever the `*(A,B,C)` method is called. See the example below.
```julia
julia> qrfact(randn(4,4));

julia> Qf = qrfact(randn(4,4));

julia> A = eye(4)
4x4 Array{Float64,2}:
 1.0  0.0  0.0  0.0
 0.0  1.0  0.0  0.0
 0.0  0.0  1.0  0.0
 0.0  0.0  0.0  1.0

julia> Qf[:Q]'A*Qf[:Q]
4x4 Array{Float64,2}:
  1.0          -2.22045e-16  -1.11022e-16  1.11022e-16
 -1.11022e-16   1.0           1.66533e-16  5.55112e-17
  0.0           3.33067e-16   1.0          8.32667e-17
  8.32667e-17   5.55112e-17   5.55112e-17  1.0        

julia> Qf[:Q]'*A*Qf[:Q]
4x4 Array{Float64,2}:
 -0.171812    -0.967699   -0.114264  -0.144855
 -0.592102     0.220933   -0.754075  -0.178816
  0.787293    -0.0461806  -0.594673  -0.156207
 -0.00810461  -0.112316   -0.25432    0.960542
```