Second-order many-body perturbation theory with non-canonical and non-orthogonal orbitals