Split abandon into pre-abandon(export) and abandon

Splits the existing abandon action into two actions as
below:
1. export: User is recommended to run export successfully
   before doing the abandon action. It returns the stack
   data, which can be used for adopting stack.
2. abandon: Abandons the given stack

Partial-Bug: #1353670

Co-Authored-By: Jason Dunsmore <jasondunsmore@gmail.com>
Change-Id: I65264d91b1378df9cb3e492bc6ccaa778940dd6b
diff --git a/functional/test_template_resource.py b/functional/test_template_resource.py
index dabc924..9249a6e 100644
--- a/functional/test_template_resource.py
+++ b/functional/test_template_resource.py
@@ -616,6 +616,9 @@
                          info['template'])
         self.assertEqual(self._yaml_to_json(self.nested_templ),
                          info['resources']['the_nested']['template'])
+        # TODO(james combs): Implement separate test cases for export
+        # once export REST API is available.  Also test reverse order
+        # of invocation: export -> abandon AND abandon -> export
 
     def test_adopt(self):
         data = {