Add module account_analytic_plan_required

This module is an extension to account_analytic_required to support analytic distributions. 

It add two policies:
* always_plan: an analytic distribution is required
* always_plan_or_account: an analytic distribution or an analytic account is required

In addition, this PR includes
* a refactoring of account_analytic_required to use constraints (for readability and robustness).
* a couple of extension points for analytic policies.