Add HtmlFormBuilder

Relates to #537 

`HtmlFormBuilder` to easily create a form using a fluid interface and avoid
things like `'<form name="searchbyproperty" action="' . '" method="get">' . "\n" . ...` within a script to avoid manual templates.

```php
$html = $htmlFormBuilder
	->setName( 'searchbyproperty' )
	->withFieldadd()
	->addParagraph( $resultMessage )
	->addPaging(
		$this->queryOptions->limit,
		$this->queryOptions->offadd,
		$resultCount )
	->addHorizontalRule()
	->addInputField(
		$this->messageBuilder->getMessage( 'smw_sbv_property' )->text(),
		'property',
		$this->queryOptions->propertyString,
		'smw-property-input' )
	->addNonBreakingSpace()
	->addInputField(
		$this->messageBuilder->getMessage( 'smw_sbv_value' )->text(),
		'value',
		$this->queryOptions->valueString,
		'smw-value-input' )
	->addNonBreakingSpace()
	->addSubmitButton( $this->messageBuilder->getMessage( 'smw_sbv_submit' )->text() )
	->getForm();
```
```php
$html = $this->htmlFormBuilder
	->setName( 'buildtables' )
	->addMethod( 'post' )
	->addParagraph( $this->messageBuilder->getMessage( 'smw_smwadmin_docu' )->text() )
	->addHiddenField( 'action', 'updatetables' )
	->addHeader( 'h2', $this->messageBuilder->getMessage( 'smw_smwadmin_db' )->text() )
	->addParagraph( $this->messageBuilder->getMessage( 'smw_smwadmin_dbdocu' )->text() )
	->addParagraph( $this->messageBuilder->getMessage( 'smw_smwadmin_permissionswarn' )->text() )
	->addHiddenField( 'udsure', 'yes' )
	->addSubmitButton( $this->messageBuilder->getMessage( 'smw_smwadmin_dbbutton' )->text() )
	->getForm();
```

The final form (as `string` representation) is generated when `getForm` is called and by doing so all existing parameters and variables are reset to a default value.