Merge branch 'master' into Walker-TestBranch
Added short __str__ options to all classes
Something kinda works. new func CovertTo2D

in SpeedTestDataStructure, new function convertStructureTo2D will go
through each Speed Test file in it’s internal structure and have it
call it’s converter.

in SpeedTestFile, the bulk of the converting is done. It starts by
declaring the array that will be returned. It then appends the
Filename, Datetime, and other information. It then iterates through
each of it’s tests, and converts them.
With each test, it gets the longest thread time (i.e., longest TCP
download time) and creates the column headers for that test. It then
uses the PingThread’s new array_itize function to convert the thread to
an array.

in PingThread, the array_itize function starts by creating an array
with the pipe number and direction as values. It then loops through all
of the pings (minus the last one) and appends the size and speed
separately. Afterward, it pads the array with empty values (e.g. for
when the thread is 30 seconds long but the longest thread of that test
is 50). The last two values are the final size and speed (the “sum”
Ping, per se)

main.py uses print (pretty print) to print out the resulting conversion
Merge branch 'master' into Walker-TestBranch
Almost there!!

CSVExporter
- cast “col” as str, just in case (there are some numbers in the array
passed in)

main.py
- added tkinter for file dialog box
- so many STDs….. :)
- made a 3-D nested for loop for creating CSV files from what was
returned in the convert function

STDs
- altered creation of “toBeReturned”. It was originally just making a
reference to the object’s structure, which was no bueno

SpeedTestFile
- added empty line to 2D array

TO DO!!
- Fix UDP conversion
- work on StDev algorithm
- test with more files (have currently only tested with one)
Merge branch 'Walker-TestBranch'