Allow to control all type casting statements

FastAttribute generates the following condition:
```ruby
case value
when nil    then nil
when String then value
else String(%s)
end
```

Version 0.4.0 allows only to change `else` condition.
Since this commit, it's possible to change any condition in switch statement using new DSL.

```ruby
FastAttributes.type_cast String do
  from 'nil', 	 to: 'nil'
	from 'String', to: '%s'
	otherwise 'String(%s)'
end
```