Refactoring and testing.

* always use build_cmd_str
* bug fixes
    - writeMicroseconds
    - port detection (those bugs were introduced by prior changes made by me)
* added more ports to port detection
* use logging instead of print statements
* added sr argument to Arduino constructor for testing
* added testing of Arduino class with serial mock object
* added another interactive test for explicitly connecting to a port
* code cleanup
    - fix white space
    - remove unused attribute

I didn't mean for this all to be one pull request but I guess I have to create branches to have the pull requests isolated.  Sorry about that.