Changes from 3.4.0alpha1 to 3.4.0alpha2

*Kernel:
- Added removal of session data when removing or disabling user, to automaticly log out invalid user.
- Removed possibility to remove user to trash, not possible to clean up properly for user in trash.
- Added Worlflow filtering when listing triggers, to only show allowed triggers according to workflows.
- Changed the eZMySQLDB to check the $this->IsConnected variable directly to get rid of un-needed function calls.
- Changed content view to not use operations if read workflows are disabled. Saved approx 500KB of memory on every view page.
- Added menu config admin page which can edit the settings for which menu to use.
  This will only work with pagelayouts which uses this setup.
- Added toolbar config admin page which could edit the settings of toolbar in page layuout.
- Added support for or (|) logic in object name pattern, you can now specify <firstname|lastname> 
  this will then set the object name to the value of lastname attribute if firstname is empty.
- Optimized eZPersistentObject::fill it now uses much less function calls it reduces approx 600+ function calls on a simple view page.
- Made eZExpiryHandler not use eZPHPCreator a bit faster and we may be able to remove the eZPHPCreator include.
- Optimized eZContentCache to save a bit more efficient cache files and removing the need to eZPHPCreator, using PHP serialize function instead.
- Made eZRole::fetchIDListByUser() sort the roles by id thus preventing the need for doing this sorting in PHP when doing view caching.
- Changed extension of cache files to .cache for template-block and view cache.
  This prevents PHP Accelerator and friends to cache these files, which causes problems on large sites.
- Added the possibility to set attributes in eZWorkflowType. (Merged from stable/3.3 rev. 5534)
- Create new script sqldiff.php which can be used to figure out differences between two databases (even database type).
  It uses the eZDBSchema library to compute the differences.
- Added 'Delayed Indexing' of published objects; when activated a lost of not 
  indexed objects are kept, and being processed by a cronjob.
- Added missing definition of class_identifier in eZContentObject which made hasAttribute() always return false.
  This made it impossible to have class identifier overrides of node children.
- Added {$requested_uri_string} variable to pagelayout which will contain the untranslated requested URL.
  Useful for keys and subtree checks.
- Made sure it is not possible to move, remove or add locations for top level objects. (Merged from stable/3.3 rev. 5577)
- Added class_identification override key for embeded objects in XML text.
- Made the default object.tpl add div for object alignment
- Fixed support for attribute_keys for object forwarding.
- Added support for setting global overrides in eZTemplateDesignResource.
- Added support for inherited roles from top to bottom.
- Added operator mimetype_icon() which will take a mimetype string as an argument and return an icon for that mimetype.
- Added is_empty attribute to ezauthor datatype to have simple checking for an empty author list in the template.

eZPersistentObject:
- Redone the attributes, hasAttribute, attribute and setAttribute functions to
  properly include support for function_attributes and custom functions.
  With this it is no longer necesary to implent the function calling yourself,
  eZPersistentObject will handle the function call.
- Made sure the dirty flag is only set when an attribute is actually changed,
  that means either the type or content is changed.
- Fixed storeObject() to not do any updates when the number of keys is 0.
- Fixed a bug in storeObject() which could cause definitions with 1 key to not
  insert into the database but just do an update.

*Setup
- Merged checking of existing MySQL databases to use mysql_list_dbs() from stable/3.3 rev. 5376.
- Added back the finetuning page, it will display hints for extending eZ publish.
- Added finetuning check for the ImageTTFText and ImageTTFBBox functions which are
  need for texttoimage to work properly.

*DataType:
- eZMedia now uses eZMimeType for mime type handling. Merged in from stable/3.3 rev. 5380.
- Made sure eZOption and eZRangeOption does no initialization when an attribute is copied
  (e.g. on when creating a new version).
- Made sure eZImage, eZMedia and eZENUM only copies attribute data when
  supplied version is non-false.
- Added attribute is_enabled to eZUser.

*Shop:
- Added list of customers.
- Added order list and product list for each custom.
- Added reports on monthly/yearly basis for sales.
- Changed Custom name from user object name to account name which is generated from shopaccounthandler.
  For each handler ez*shopaccoundhandler.php, it must implement function accountName().

*Libraries:

eZ Utils:
- Added function to redirect client to other URL, with POST parameters. eZHTTPTool::sendHTTPRequest()
- Use TRUNCATE TABLE instead of DELETE FROM, which is a faster alternative and
  works on MySQL, PostGreSQL and Oracle.
  http://ez.no/community/bug_reports/ezsession_truncate_instead_of_delete
- Added eZMath library.
- Added function to find the absolute Path to the eZ publish root directory. eZSys::rootDir()

eZ PDF:
- Added more functionality.

eZ ini:

eZ template:
- New class eZTemplateToolbarFunction which support template syntac {tool_bar name=$toolbar_name view=$viewmode}.
- New class eZTemplateMenuFunction which support template syntac {menu name=$menuName}.
- Added the subtree_expiry option to {cache-block}.
- Fixed numeric parser to properly recognize float and integers, previously all numbers were float.

eZ cli:
- Added 'failure' style which is similar to error.

eZ file:
- Added function to remove files match a given pattern in class eZDir.

eZDebug:
- Made sure the dumpVariable function don't mess up any existing output buffers
  or start a new unneeded one. (Merged in changes from stable/3.3 rev. 5539)

eZ DB Schema:
- Made sure the DB schema checker takes into account different database types which can have different
  names on the same indexes.
- Moved the table generation code into a separate function for MySQL and PostgreSQL handler.
- Added new tables to sql output.

*Unit tests:
- Added support for selecting a specific subtest to run for testunits.php.

*Bugs:
- Made sure eZRoleIDList session variable is cleaned up in eZUser::cleanup().
  http://ez.no/community/bug_reports/security_risk_caching_problems_session_problems
- Made sure shop/confirmorder does not crash when order ID is missing or wrong.
  http://ez.no/community/bug_reports/error_in_confirmorder_php
- Made sure the SubTreeArray parameter is remembered on next/previous links in advanced search.
  http://ez.no/community/bug_reports/ez_no_documentation_search_problem
- Made sure assigment to PHP variables unsets the PHP variable before
  the assignment is applied in compiled template code.
- Made sure the same repository is not scanned multiple times.
  http://ez.no/community/bug_reports/ezdatatype_php_latest_trunk
- Fixed bug, mondayfirst does not take effect. (merged from 3.3 stable rev. 5464)
  http://ez.no/community/bug_reports/mondayfirst_does_not_take_effect
- Fixed bug, removed dependency on eZDateTime for currentTimeStamp().
  http://ez.no/community/bug_reports/missing_include_ezdatetime_php
- Fixed small bugs in clearing the cache files. (merged from 3.3 stable rev. 5478)
  http://ez.no/community/bug_reports/kernel_classes_ezcache_php_fatal_error_missing_includes_more
- Fixed bug when the email list was empty in a custom webshop list.
  http://ez.no/community/bug_reports/shop_customlist_sql_error
- Fixed missing {section} start in ezrangeoption.tpl. (merged from 3.2 stable rev. 5487)
  http://ez.no/community/bug_reports/design_standard_content_datatype_view_plain_ezrangeoption_tpl_missing_section
- Fixed bug in permissions for versionview. (Merged from 3.2 rev. 5501)
  http://ez.no/community/bug_reports/unable_to_use_versionview_without_create_permission
- Fixed bug with missing include in eztextcodec.
  http://ez.no/community/bug_reports/eztextcodec_php_missing_includes
- Fixed bug in shorten template operator. (Merged from stable/3.3 rev. 5511)
  http://ez.no/community/bug_reports/bug_in_template_operator_shorten
- Fixed bug with pre and post text for the 'text' tag in the simpletags operator. (Merged from stable/3.3 rev. 5517)
  http://ez.no/community/bug_reports/error_in_ezsimpletagsoperator_php
- Fixed bug with wrong case usage in arithmetic operator.
  http://ez.no/community/bug_reports/typo_in_eztemplatearithmeticoperator_php
- Fixed a warning in content/browse.php (Merged from stable/3.3 rev. 5526)
  http://ez.no/community/bug_reports/warning_in_browse_php_when_assign_a_section
- Made sure deferred workflow processes with activation_date set to 0 are continue
  as normal. This makes sure that a deferred multiplexer works properly. (Merged from stable/3.3 rev. 5534)
- Made sure the workflow cronjob will only lookup master workflow processes
  and not child processes. (Merged from stable/3.3 rev. 5534)
- Made sure the multiplexer workflow handler stores the current user ID and restores
  it if it was previously deferred. (Merged from stable/3.3 rev. 5534)
- Link tags in ezxml fields with empty href values are now handled properly, empty links
  will signal a validation error. (Merged from stable/3.3 rev. 5582)
  http://ez.no/community/bug_reports/xml_field_one_empty_link_causes_all_other_links_to_disappear
- Fixed a bug with login of user when running mysql, the number of returned rows would
  increase exponentially. (Merged from stable/3.3 rev. 5648)
- Fixed a bug with charset conversion.
  http://ez.no/community/bug_reports/all_translations_special_characters
- Fixed a bug with eZDebug and references to string offsets.
  http://ez.no/community/bug_reports/ezdebug_fatal_error

*Update
- Added script addorderemail.php which will add email field content to table ezorder.
