added __contruct(array $options = []) to Rule/AbstractImpl
added Rule\HasKey
added Rule\IsScalar
added Rule\IsScalar to Rule\HasKey
added DocBlocks to Rule/*
added using of Rule\*::__construct() in Chain
added Rule/HasKeys