Add ability to cat piechart data into broadcast
Fix CPU utilization bug

        - Not handling "0 bytes read" properly
        - Also add checks using "select"
Add thoughts on Step 9
Improve logging/error reporting

        - Use syslog to log errors
        - Define macros for common failure scenarios
        - Add SIGINT handler
        - Replace fprintf to stderr
Refactor to make code comments more consistent

        - Sort headers
        - Add comments
        - Sort static functions
        - Add consistent function headings
        - Also, tighten up code and improve error logging
Refactor base64

        - Make comments consistent
Refactor to break ws.c apart

        - Split into: handshake, frames, read_message
Fix reading websocket frames bug

        - Undid the part of the fix for the CPU utilization that
          didn't really fix the real problem. This was using select
          to wait for the socket to be ready to read. This isn't
          needed, and, in fact, breaks reading messages from
          websockets.
Refactor to make comments consistent

        - Updated frames.c, handshake.c, read_message.c