feat add dir_flag

for create/delete a directory, dir=ture will be required. 
recursive=true will imply dir=true

empty value of a key-value pair will be allowed.