Add configuration option `unknown_weight` for metrics.

If this option is specified, then all filters add symbols to this metric
with the specified weight even if they are not specified in symbols list
explicitly.
Rework symbols adding.

Now if no metric defines a symbol (explicitly or implicitly by means of
`unknown_weight` attribute), this symbol is skipped completely.
Add support of custom request and reply headers.
Write custom headers in the output.
Rework lua function names to avoid ambiguity.
Lua is now parsed after all parsing complete.
Rework adding symbols from lua.

It is now possible to use something like:

rspamd_config.SYMBOL = function(task) ... end

or even

rspamd_config.SYMBOL = 	{
    			callback = function(task) ... end,
			weight = '1.0', --optional
			priority = '0', --optional
			type = 'callback' --optional
			}
Forgot to initialize lua_State.
Improve lua callbacks call.

Now it is possible to return a value from lua callback and rspamd can
automatically insert the symbol corresponding.

For example:

rspamd_config.TEST = function(task)
...
 return true -- inserts symbol TEST with the default value
...
 return true, 0.5 -- inserts symbol TEST with 0.5 multiplier
...
 return true, "opt1", "opt2" -- insert symbol with the options specified
...
 return true, 0.5, "opt1", "opt2"
...
end
Really allow to specify multiplier in return value.