3.1.4 release -- 31-10-2011

User-visible changes:
* geotag tab: lookat zoom and type in view
* geotag tab: added map type and map zoom in gmaps preview
* geotag tab: added streetview
* Fix upload media from blip.tv due to video url changed
* fill the blanks with html5 attr placeholder
* INSTALL readme file update
* #288 - fix category filter + fix search persistent filter
* fix "slug" notice/warning

Frontend changes:

* html sitemap ul li nesting fixed
* #210 - loadSectionsTree, on loading contents recalculate "canonicalPath"
* frontend_controller: remove title from order in full text search . Use default "points" instead
* throw 404 error in FrontendController::loadSectionsTree() when parent_id/nickname doesn't exist
* FrontendController::logged attribute is now protected
* FrontendController: fix canonicalPath/parentAuthorized object cache
* #281 - if section is virtual/hidden call setCanonicalPath
* hash jobs: handle mail notification failure, fix signature in mail notification
* fix lang autodetect - lang in "frontendLangsMap" should also be in "frontendLangs", otherwise use default "frontendLang". Cookie lang should be in "frontendLangs"
* FrontendController::objectCache system improved. Now cached objects are used only if their bindings contain more data or equal than those of the request
* moved default BEdita objects modelBindings from app/config/frontend.ini.php to model files


Developer-visibile changes:

* be_thumb helper - do not die on error
* addshorttext to document view, now depend on config var presence in bedita.cfg
* BeHash component refactoring
* geotag tab: add zoom and map type. Saved as json in gmaps_lookat field
* hash jobs: fix transactions in FrontendController/BeHashComponent
* BeHash component: moved trim($data['title']) in newsetter subscription method, $redirectPath removed
* add comment to BeConfigure::loadPluginLocalConfig method
* #283 first basic import via shell (ulmus) - load XML exported from frontend section
* fix simple objects save - avoid id overwrite
* core: "swf", "webroot" reserved words
* #289 date input parsing method BeLib::sqlDateFormat
- use 01/01 if only year selected
- year with 1/2 numbers, consider 1900 if in the future, otherwise 2000, examples: 09 ==> 2009, 14 ==> 1914
- BeLib test case
* #290 - add exception with $data detail