Truncate files used for sessions before writing

There was a race between opening a file for writing and lock acquistion,
which creates an opportunity for corruption.  This commit seeks to the
start of the file and truncates it after the lock is acquired.

It also changes the read lock to LOCK_SH, as reading doesn't require an
exclusive lock.  The usual application race between session reading and
session writing exists regardless of this change.

This resolves issue #448.
Merge branch 'truncate-session-files'
Made changes to documentation in Manual.pod.
document change
Merge branch 'pr/documentation'
Added the perlbrew init command and version of perlbrew changed.

After installing perlbrew and checking the version available,
the perlbrew init command should be run before proceeding
further to install a version inside perlbrew.Also the version
of perlbrew to install is changed to perl-5.14.4 (from perl-5.14.2).
Add ash13 name
Merge branch 'ash13-pr/perlbrew_init_correction'
Work in progress for #316. I finished proof reading all of
Cookbook.pod. Fixed spelling errors, formatting, code and broken links.

Haven't still checked code samples by actually running, but I did read
through all code to verify correctness.
fix <gt> to C<< ... >>
Merge branch 'gideondsouza-pr/fix_cookbook_pod2'
Work in progress for #383. Added a session_hooks.t. Added stubs and few
basic tests.
Work in progress for #383. Added tests for session flush, retrieve and
destroy.
Finished nearly all tests for #383 however session retrieval is acting
weird
Work in progress for #383. Added a new and working test suite
for testing session hooks.

Session hooks for Simple sessions are now tested. The framework is
already ready to make it use a YAML backend.
Tested session hooks for Simple engine as per #383.

This test suite still only works with Simple and not with more than one
backend. Possibly because I'm not setting it all up correctly. This
changeset also added LWP::Protocol::PSGI as a dependency into dist.ini.
I needed this to setup the dancer app and make requests to it within the
same process.
Update Changes
Merge branch 'gideondsouza-pr/test_session_hooks'
Include ../lib [again]
Merge branch 'pr/include_lib'