Subdir

Here are the changes made in this file:

1. Allows to copy subdirectories
2. Added a test case that allows to check if files have been copied over accurately
3. Manual instructions to test this PR are as follows:

Here, what we are trying to achieve is copy seattle_libv2 to subdir_seattle_lib_v2

Step 1: cd to the scripts folder in common

Step 2: python initialize.py (This fetches the dependencies of the component; initialize.py Git-clones the dependent repositories into DEPENDENCIES directory. Here, you should cut the already present build_component which is listed as a dependency under common and replace it with the build_component.py from this PR).

Step 3: python build.py (This will create a RUNNABLE component from the source dependencies and would say "Done Building." At this point, you can either open the subdir_repy_v2 under RUNNABLE and see the copied files. You can also use the test_addsubdir to see if the files have been copied accurately).

Step 4: cd to tests under Common

Step 5: python test_addsubdir.py (This should produce a Pass/Fail output. This would produce a test result which indicates if the same number of files have been copied over to the subdir. If yes, it says Pass for that. If you delete a file from common dir manually and run the test case, it would give an output of Fail).




I was expecting `test_addsubdir.py` to call `build_component.py` (or one of its functions) to test its behavior.  The test appears to assume that `python initialize.py` and `python build.py` have already been executed.  Maybe mention this assumption somewhere.

Another option is to use example config files specifically for this test case and test `build_component.py` directly (e.g., test command-line/function arguments, malformed directories specified in config files, etc.)