[Form] Added option type checks in some FormTypes

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none
| License       | MIT
| Doc PR        | none

Follow-up to #11696. Some of the built-in form types allowed passing invalid options, which lead to errors that were not so easy to understand. This PR adds needed checks where applicable.

Allowed types in `TimeType`'s `empty_value` option were taken from the documentation.
@stof, however, passing an `ArrayObject` which implements `Traversable` triggers an exception due to [`SimpleChoiceList::__construct` `$choices` parameter type hint](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/Core/ChoiceList/SimpleChoiceList.php#L45).
This is a test case that would fail against the current `master` branch:
```php
namespace Symfony\Component\Form\Tests\Extension\Core\Type;

use Symfony\Component\Form\Extension\Core\ChoiceList\ObjectChoiceList;
use Symfony\Component\Form\Extension\Core\View\ChoiceView;

class ChoiceTypeTest extends \Symfony\Component\Form\Test\TypeTestCase
{
    // ...

    public function testChoicesOptionSupportsTraversable()
    {
        $this->factory->create('choice', null, array(
            'choices' => new \ArrayObject($this->choices),
        ));
    }
}
```
And this is how it fails:

```
There was 1 error:

1) Symfony\Component\Form\Tests\Extension\Core\Type\ChoiceTypeTest::testChoicesOptionSupportsTraversable
Argument 1 passed to Symfony\Component\Form\Extension\Core\ChoiceList\SimpleChoiceList::__construct() must be of the type array, object given, called in /Users/kix/Documents/Code/php/symfony/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php on line 176 and defined

/symfony/src/Symfony/Component/Form/Extension/Core/ChoiceList/SimpleChoiceList.php:45
/symfony/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php:176
/symfony/src/Symfony/Component/OptionsResolver/OptionsResolver.php:836
/symfony/src/Symfony/Component/OptionsResolver/OptionsResolver.php:769
/symfony/src/Symfony/Component/Form/ResolvedFormType.php:109
/symfony/src/Symfony/Component/Form/FormFactory.php:87
/symfony/src/Symfony/Component/Form/FormFactory.php:67
/symfony/src/Symfony/Component/Form/FormFactory.php:39
/symfony/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php:1302
```

Should this become a separate issue? The [doc](http://symfony.com/doc/current/reference/forms/types/choice.html#choices) clearly states that the a valid `'choices'` option has to be be an `array`.