Use mutable Map for storing local actions

If multiple Ajax requests are submitted at once, they'll get independent
copies of the LocalActions map.  This may result in subsequent errors if
local actions created by e.g. the first request are used later in
combination with a snapshot created by a later request.
LocalActionRef should be a RequestVar, not ScreenVar

The lifetime of a ScreenVar may extend across multiple pages, but the
contents of this particular ScreenVar is inherently request scoped.
Local actions may cease working if the screen is restored from an old
snapshot.
Use mutable reference to immutable map
Squashed commit of the following:

commit aeb44de3bc42f86324a6242b6b8037dd4cb8fbc3
Author: David Pollak <feeder.of.the.bears@gmail.com>
Date:   Tue Mar 5 11:48:56 2013 -0800

    Squashed commit of the following:

    commit 24ff1d946cb1f80630e747a7793ba3f574fe7202
    Author: David Pollak <feeder.of.the.bears@gmail.com>
    Date:   Tue Mar 5 11:47:24 2013 -0800

        Removed external bcrypt depedency because the code is already in Lift

commit 09980e8263723f978784666d467e8256118d2446
Author: David Pollak <feeder.of.the.bears@gmail.com>
Date:   Tue Mar 5 11:32:01 2013 -0800

    MappedPassword now uses bcrypt, but is backward compatible with existing passwords and schemas