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).




These non-"test" directives seem to be intended for `test_addsubdir.py`.  Maybe add a comment explaining why these directives are here.  According to the header comments, non-"test" directives are not specified here because `common` is not a standalone component.