Prevent a bug when notci.txt is empty

When having an empty “~/.livla/notci.txt”, I encountered this issue as
soon as I sent a message:

    […]/ilmentufa/ircbot/node_modules/irc/lib/irc.js:637
                        throw err;
                              ^
    TypeError: Cannot call method 'toLowerCase' of undefined
        at processormensi
    ([…]/ilmentufa/ircbot/livla.js:256:38)
        at Client.<anonymous>
    ([…]/ilmentufa/ircbot/livla.js:44:5)
        at Client.emit (events.js:106:17)
        at Client.<anonymous>
    ([…]/ilmentufa/ircbot/node_modules/irc/lib/ir
    c.js:472:22)
        at Client.emit (events.js:95:17)
        at
    […]/ilmentufa/ircbot/node_modules/irc/lib/irc.js:634:22
        at Array.forEach (native)
        at Socket.<anonymous>
    ([…]/ilmentufa/ircbot/node_modules/irc/lib/irc.js:631:15)
        at Socket.emit (events.js:95:17)
        at Socket.<anonymous> (_stream_readable.js:764:14)

Now, when the file is empty (or when one of it's line is empty, I
guess), it will simply ignore it.
Prevent a crash when ~/.livla/notci.txt is missing

When launching the bot, it crashed if “~/.livla/notci.txt” did not
exist. When “~/.livla/” did not exist, this problem repeated each
launch.

When “~/.livla/” did exist, it succesfully created the “notci.txt” file,
then crashed, due to asynchronous business.

The script now synchronously create “~/.livla/notci.txt”, and keep going
after that.

Note that we abandonned “fs.exists” for “fs.appendSync”.

From the node.js documentation:

  fs.exists() is an anachronism and exists only for historical reasons.
  There should almost never be a reason to use it in your own code.

  (http://nodejs.org/api/fs.html#fs_fs_exists_path_callback)

“fs.appendSync” will create the file if necessary, and will only “touch”
it, without modifying it, when it is already there.

“fs.mkdirSync” will complain if the directory already exists. Following
the aforementioned documentation, we treat this case with error handling
(saying “The directory existing is not an error”), rather than
preventively testing for it's existence.

On real errors (like, no write permissions – even if the file exists),
node will throw, hopefully with a sensible error message.
Added npm package.json for module management

Some of the modules that come with this repository are compiled for a 64
bit system (actually, “libxmljs” was the culprit). Which was not good on
my 32 bit system.

An easy solution to fix this is to remove the node_modules altogether
and regenerate it with a simple “npm install”. That is, when we have a
correct “package.json”.

So, I created one (well, two, one for the main repository, and one for
“ircbot”, which has it's own “node_modules” directory).

I also moved “node-supervisor” so that it respects the installation
scheme, and that we can really remove and reinstall the node_modules
directory, without having to manage this weird “node-supervisor”
exception.

This required a small change in the command to launch (by default,
binaries are in “node_modules/.bin”, not “node_modules/bin”).

While I was at it, since we still provide the packages in the
repositories, I added a note in the same readme so that people on a 32
bit system know what to do.
Documented configuration in ircbot/README.md

I added information about the configuration of livla.js, based on some
testing I did.

I also tried to format the file so that it really is a Markdown file,
with title, code blocks, etc.
Corrected documentation about livlytcan

Well, not connecting to livlytcan doesn't provoque a crash.

But it seems that the replier dos not respond anymore if we do so.

So, I corrected the documentation accordingly.

The bots don't seem to speak on livlytcan, but I guess they need that
channel to be able to contact themselves in a private room?

I'll have to dig more. But I don't want to :-O.
Merge pull request #26 from daeldir/master

Bug correction and documentation