Restructured the echo's and added Network support.

 - Instead of using a sequence of echo's, use a single "heredoc" to
update the Project file.  This allows for easier maintenance.
 - Added "Network" to the list of required QT modules.
2 Kaiwa programs can send messages to eachother.

Kaiwa
  -  Added a hard-coded listener port: 0xCAFE
  -  Added a button to connect to another instance.
  -  Added username() to get the currently logged in user.
  -  Use the Message object instead of passing data around.
  -  Use the Network object to manage the network connections.

Message
  -  This object is used to encapsulate a message.

MessageEntry
  -  Updated to use the Message object.

MessageView
  -  Updated to use the Message object.

Network
  -  This object will manage all network connections.
  -  Will listen on the specified port for new connections.
  -  Will accept all connection requests.
Updated to have the correct version number.

Also, doxygen will now ignore the template files "_.*"
Updated documentation and API cleanups.

Kaiwa
  -  Updated documentation.

Message
  -  Updated documentation.
  -  API Change: fromByteArray() -> init().
  -  API Change: toByteArray() -> toByteArray(QByteArray&).

MessageEntry
  -  Updated documentation (don't name params in .h files).

Network
  -  Updated to reflect the API changes in Message.
Message can track when it has been received.

Message
 - Updates the "received" member when it is reconstituted from a
 QByteArray.
 - Minor Doxygen corrections were made.

MessageView
 - Uses the received time from the Message instead of when the
 Message was added to it.
Command-Line arguments are parsed into settings.

Kaiwa
 - Added getSettings() to retrieve setting values.
 - Added toStr() to convert "QString" into "const char*"

main.cpp
 - Added documentation.
 - Added parseArgs() parse the arguments into a settings file.
The Network listener reads from the settings now.

Kaiwa
 - No need to tell the Network to listen.

Network
 - Always listening for connections now.
 - Uses Kaiwa::getSettings for configuration.
 - If no bind address is found use QHostAddress::ANY.
 - If no port number is found use any available port.
Started work on the Settings UI.

Kaiwa
 - Added a "ToolBox" view to the Kaiwa main window.
   This allows for easy access to the messages and settings.
 - The Settings UI is a tabbed view of the various components.
 - Removed un-need allocations.

MessageView
 - Removed un-need allocations.

Network
 - Created the Settings widget for this component.
 - Listener Setting widgets are in place but not implemented yet.
Network Listener Settings interface is complete.

Kaiwa
 - The Kaiwa widget can have a parent.
 - Complete rewrite of how the application settings are handled.
   - Renamed "*Settings()" to "*Value()".
 - Added "Command-Line" settings.

Network
 - Implemented proper signal and slot support.
 - Updated the documentation.
 - A lot of variable renaming to make the code more readable.

main
 - Rewrote parseArgs() to use the Kaiwa Value() methods instead of
   writing directly to the QSettings file.
The Network Connection interface is usable.

Kaiwa
 - Removed dead code.

Network
 - The Connection settings to establish a connection are working.
 - Address entry fields will not be marked as invalid if they are empty.
 - Removed dead code.
Added missing #include.

The "#include <string>" was not really needed.  However since,
string methods are being used, like string::c_str(), it is
included for completeness.
Complete rewrite Listener Setting slots.

This rewrite removed unneeded code and fixed a bug where the
initial address value was not set correctly.  Sometimes the
"Set Defaults" and "Use Now" buttons would be incorrectly enabled.
This bug has been fixed as well.

Added error fields to display why a value is not accepted.
Code refactoring.  Simplified Listener and effects

Initializing the Network Listener has been broken into 2 methods.
The first method, that has no args, will get the default args and
pass those valuse to the second method.  This second method, that
has 2 args, will use the provided values to set the listener.

The code that creates the error effect in the Network settings UI
has been moved to the Kaiwa object.  This will allow for other UI
components to use the same error effect for a consistant look and
feel.
Added missing "tr" to text values.
Added "Remove Connection" to Network Settings.

Created a simple button to remove a connection in the Network
Settings UI.  Nothing is connected to the button yet.

Also, a minor code clean to make variable names more appropriate.
Sockets can be disconnected via the Settings UI.

The Network Settings Remove Connection button will close the
socket.  The disconnect signal from the socket will remove the
socket from the connected list and the UI.

Renamed some methods to follow the current naming convention.
Added command line support for initial connection.

Added the following args:
- --network-connect-address
  The IP address to connect to.
- --network-connect-port
  The Port number to connect to.
Renamed command line args.

The command line args used to establish the initial connection have
changed to:
- --network-connection-address
- --network-connection-port

Added documentation to the Network object.
General code clean up and documentation.