Added more detailed comments on functions

Except for the debugging functions, all of the functions have
an explanatory comment block. I also fixed a discrepency between
the number of bytes written on .userdata file creation and .userdata
parsing. (Was four bytes on write and one byte on read, both are now
four bytes)
Multiple organizational changes

user_list_init() is now called from main, instead of at the end of
file_setup(). It was going to be called regardless, so I thought that
it would be easier to understand if was added to the main. The warning
on interrupt string was also moved to auth.h
auth.c was not saved before commit, it has since been tested and works so far
New users are now added to userlist

Also, a bug was fixed that was allocating 0 bytes for the
user list. It wasn't giving a seg fault because the pointer
must have been a valid address in the heap. It now allocates
16 bytes for the max number of users. The list is just an
array of User pointers, so this is sufficient.

It also checks to see that the max number of users is not exceeded
when adding new users.