Fix: Pass string representing the error object
Maint: Fix typo
Maint: Move command line parsing to entry point

Move command line parsing to the entry point file, and make the
interface more transparent for SteamChatBot in its constructor. This is
better design and will allow for easier implementation of a test
framework in the near future.
Style: Convert to UNIX-style line endings
Docs: Add quick start instructions
Docs: Minor terminology adjustments
Style: Convert tabs to spaces
Style: Prefix private methods with an underscore
Enh: Use prompt for authentication

Prefer prompt to handle authentication rather than accept command line
arguments via stdio. Using a prompt to request the authentication
information provides security benefits over passing sensitive
information via the command line, as the sensitive information is no
longer visible in the console nor is it saved to its history. The prompt
package also allows for hidden properties, which can be applied to the
password property for extra security. Another benefit is that the prompt
package is asynchronous, whereas stdio is not.
Fix: Steam Guard code may include digits
Maint: Use asynchronous fs methods

Prefer the asynchronous fs.writeFile and fs.readFile over the

synchronous versions.

Ref: http://nodejs.org/api/fs.html
Maint: Remove Steam Guard code check

Pass undefined if a Steam Guard authentication code not was provided.
Maint: Save bot persona state

This change is mostly in preparation for future functionality. For
example, a potential bot command may be added to allow a user to restart
the bot. Upon the subsequent reconnect, the bot should remain in the
state from its previous session.
Docs: Update note regarding Steam Guard code

If a valid sentry file exists, Steam will ignore the Steam Guard code if
one is provided.
Maint: Fix error message for Steam Guard code

Update the error message for the Steam Guard code property to note that

digits are also allowed.
Fix: Use asynchronous file writing

Forgot to update to fs.writeFile from a previous commit.
Maint: Use Function.prototype.bind()

Bind the bot's context to each callback instead of relying on redundant
anonymous callbacks or saving the object to a temporary variable.

Ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
Docs: Update note regarding Steam Guard code

Remove language involving the need to remove the Steam Guard code, as it
must be entered manually via the console when the bot is started.
Maint: Restructure error message language

Restructure the language used for all error messages to better clarify

the type of error.
Maint: Provide error messages for all properties

Provide error messages for the username and password properties. These

messages clarify that these properties are required.