[FIX] ir_actions: ids of unlink method can either be an ID list or one ID
[IMP] gamification: avoid sending twice emails in cron

When the cron is running on a database with a large number of goals (e.g. website_forum with thousands of users), it's possible the CPU time is exceeded and we may have a rollback after sending some emails (for granted badges).
To avoid sending twice emails, commit in cron mode after each reward.
[FIX] point_of_sale: prevent empty order creation as they are not accepted by the backend
[FIX] website_sale: save the company in street and the street in street2.

The old behaviour was not better, because when we print the invoice, the order was ugly:
    Name
    Street
    Company name
    Country

Now we will have:
    Name
    Company name
    Street
    Country

This patch is not retro-compatible:
   Old partners will see the address in company name and vice-versa.
   Need to update view and switch street field and street2 field
[IMP] website_event: add mail subtypes

Add published and unpublised mail subtypes, to track events publication, and to be able to follow these subtypes
[FIX] kanban: remove container=element for tooltips on kanban
[FIX] dict notation for js reserved words in options (Fixes #2957)
[FIX] pos_restaurant: Issue 614981: product renaming from name to display_name was not done in the pos_restaurant module, resulting in empty product names in various places
Revert "[FIX] Error when installing module document"

This reverts commit 8dd4c83d9cf6f45ca39f120b296c1c69079154a4.
It does not fix the issue, but hides it instead.
An actual fix has been made since.
[FIX] website_sale*: handle no delivery methods in website

Display a user friendly message instead of crashing when there is not delivery method available for a specific order
[FIX] openerp/osv/fields: fix method to_field() to pass some falsy parameters.

For instance, the attribute copy=False was not passed when converting the
_column to a Field.  Simply make sure those parameter are always passed.
[FIX] fields: in to_column(), returning self.column is generally not correct

Consider the following example:

    class Foo(models.Model):
        _name = 'foo'
        _columns = {
            'state': fields.selection([('a', 'A')]),
        }

    class Bar(models.Model):
        _inherit = 'foo'
        state = fields.Selection(selection_add=[('b', 'B')])

The attribute 'column' of the field does not have the full selection list,
therefore the column object cannot not be reused, even a copy of it.  The
solution is to systematically recreate the column from the field's final
specification, except for function fields that have no sensible way for being
recreated.
[IMP] fields: make attribute 'default' callable
[IMP] fields: set the default value to the closest field.default or _defaults

This fixes a potential issue: in the following case, the class Bar should
override the default value set by Foo.  The result was incorrect, because
_defaults is looked up before field.default.

    class Foo(models.Model):
        _name = 'foo'
        _columns = {
            'foo': fields.char('Foo'),
        }
        _defaults = {
            'foo': "Foo",
        }

    class Bar(models.Model):
        _inherit = 'foo'
        foo = fields.Char(default="Bar")

The fix also makes field.default and the model's _defaults consistent with each
other.