Algorithms for unsymmetric cone optimization and an implementation for problems with the exponential cone