ls.go: Continuing Evolution

Yet another huge improvement.
* Goroutines for a slight performance boost by making the entire statistics-gathering process threaded
* Obtaining user/group names is currently disabled until I figure out how to fix the performance
* Functions are rewritten and re-organized to be significantly clutter-free.
* All file lists are moved to be universally available to all functions, as critical as they are.
* Comment improvements
* Symbolic links are now followed, colored, and printed in long mode.
stat.go: Actually use the index value

It seems I forgot to use the index value so the program will switch to the next file.
ls.go: Implement Fast User/Group ID Conversion

The lookup function in os/user is incredibly slow and there is no official method of obtaining group names for group IDs. Therefore, I have written my own functions to convert uids and gids into usernames and groupnames with great success. Instead of taking 250-300 milliseconds and lacking the capability to convert group names, I am now accomplishing perfect user and group id conversion in 47 milliseconds. The C version of ls takes 70 milliseconds, so we have a win.
stat.go: Add group names

Because user.LookupID() is incredibly slow and inefficient, and this program needs to be able to look up group IDs as well, I have copied my code from ls for convert user/group IDs into names.
Update stat.go
stat.go: Don't use stat for checking existence
ls.go: Don't use stat to check for existence
ls.go: Don't forget err
stat.go: Don't forget err
wc.go: Add sloc and occurence counters

These aren't features of the GNU C coreutils wc command, but it makes sense to have them.
* -sloc will count the lines of code in a file, omitting empty lines and comments.
* -o <string> will count the occurrences of a letter, word or phrase in the file.
Merge pull request #22 from mmstick/master

ls, stat, and wc Improvements