Datalist fine-tuning

* Changed getBlockName in all types to abstract
* Refactored label type so that it accepts additional html attributes