Simplify has a Layer Modification that has a setting to start printing at a specific height in mm. You could start printing your model from where your printer left off and glue the pieces together. In theory, you could home your Z axis to the top of your print and use s3d(simplify3d) to start the print where it left off. s3d has a machine control portion of the software(one of my selling points, if not the) and knows the last command sent to the printer before printer power failure. The position read out it not actual, its the last command sent. There has been some gripe about their DRM(the software logs in every time it starts, to verify ownership). I don't know how long you can actually use it without an active internet connection. Expiration built in?
When you use the advanced settings of Cura, I feel they are the same, with different names. It does have an experimental tree support setting. And its free.
My friend uses Slic3r. I haven't tried it yet. It is free and open source.
Now, as far as spending money on a slicing program, having the money to blow, s3d is nice. It has a built in machine controller. Like slic3r and cura, it turns models into gcode for your printing needs. Though I use it the most, I feel I only do cause I did dump $150 on it. Well.. the processes are nice. I can say have a temp tower process that changes temps every 50 layers from say 250-190, using the start and stop heights I can just section off the temps I wanna use for the filament I am testing