An algorithm to decide if a 3-manifold is a Haken manifold