add AbstractBuilder class

- delegate builder validates, argument hold, build.
bugfix: dataset title include end parentheses
add AbstractBuilder attributes define class method
add validates methods
add AbstractBuilder recipe method

- for attributes extend method
add AbstractFactory build method. fix AbstractFactory.