added SourceFile getReadPosition(), getReadPositionSeconds(), tab align methods
FilePlayerNode read does an extra check if it needs to seek(), due to the possibility that someone else could have been reading from the same SourceFile.
fix test multiple connections