Foundation 5 Adaptation &co.

Hi, I made some improvements to this nice package. Mostly with the idea to port it to Foundation 5.

Those are the changes:
- Added the new ``withLabel($name, $label)`` that allows to define a label for a
form item.
- Label that are added using this new method will wrap around the element as suggested
by Foundation 5 [http://foundation.zurb.com/docs/components/forms.html]
- Checkboxes and Radio that are going to use this new method will have a specific
ID so the labels can be correctly clicked to check the input item.
- Tests have been improved using ``assertTag()`` instead of an intricate and unsafe
``assertTrue()`` using ``strpos``.

Taking the README example for the *Usage* chapter here's how it simplifies:
```html
<div class="large-8 small-12 columns">
	{{ Form::model($user,array('route' => 'route.name','class' => 'custom')) }}
		<fieldset>
			<legend>Create New Account</legend>
			{{ Form::withLabel('name', "Full Name")->text('name',$user->name,array('placeholder'=>'Tell us your whole name')) }}
			{{ Form::withLabel('email', 'Email')->text('email',$user->email,array('placeholder'=>'Valid email used to login and receive information from us')) }}
			{{ Form::withLabel('password', 'Password')->password('password',$user->password,array('placeholder'=>'Gimme your password')) }}
			{{ Form::submit('Create Account',array('class'=>'button')) }}
		</fieldset>
	{{ Form::close() }}
</div>
```
will render without errors

```html
<div class="large-8 small-12 columns">
	<form accept-charset="UTF-8" action="http://host/action/from/route" class="custom" method="post">
		<fieldset>
			<legend>Create New Account</legend> 
			<label for="name">Full Name <input id="name" name="name" placeholder="Tell us your whole name" type="text"></label> 
			<label for="email">Email <input id="email" name="email" placeholder="Valid email used to login and receive information from us" type="text"> </label> 
			<label for="password">Password<input id="password" name="password" placeholder="Gimme your password" type="password" value=""> </label> 
			<input class="button" type="submit" value="Create Account">
		</fieldset>
	</form>
</div>
```

and in case of errors a ``<span class="error">$error_message</small> `` will be added inside the label and the class ``error`` will be applied to both the ``<label>`` and the ``input/select/textarea/...``.

The method ``withLabel()`` can also be used to define all the labels like:
```php
Form::withLabel('name', 'Your Name')->withLabel('password', 'Password')-withLabel('email', 'The eMail');
```
and I'm planning to allow to accept an associative array as parameter or to add a ``defineLabels()`` method to define all the labels at once (but i'm not not sure how to manage checkboxes).
Let me know what do you think about it.
In case you don't want to merge I'll make a separate package keeping you in the credits as original author.


*Note: If you look at the full diff of ``FormBuilder`` it is "complex" to understand, look at the single commits and the steps are going to be more clear.*

PS: This is the laravel view I use for testing the output:
```html
<html>
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>foundation-form.blade</title>
    <link rel="stylesheet" href="http://cdn.foundation5.zurb.com/foundation.css" type="text/css" media="screen" title="no title" charset="utf-8">
    <script src="http://cdn.foundation5.zurb.com/foundation.js" type="text/javascript" charset="utf-8"></script>
  </head>
  <body id="form.blade">
    <div class="row container">
      <div class="small-12 medium-10 large-6 small-centered columns end">
        {{ Form::open(['url' => 'route.name','class' => 'custom']) }}
        <fieldset>
          <legend>Just a Fieldset</legend>
          {{ Form::withLabel('name', "Your full Name")->text('name', "MyUsername", ['placeholder'=>'Tell us your whole name'] ) }}
          {{ Form::label('another_name') }}
          {{ Form::text('another_name', "MyUsername", ['placeholder'=>'Tell us your whole name'] ) }}
          {{ Form::withLabel('an_email', "Email")->email('an_email', "email@example.com") }}
          {{ Form::withLabel('your_password', 'Password')->password('your_password', ['placeholder'=>'Gimme your password'] ) }}
          {{ Form::withLabel('long_text', 'Long Text?')->textarea('long_text', "Something written down", ['placeholder'=>'Gimme your password'] ) }}
          {{ Form::withLabel('some_month', 'Select a Month')->selectMonth('some_month', 2) }}
          {{ Form::withLabel('choose_one', 'Select Something')->select('choose_one', ["First", "Second", "Third", 'Last'], 2) }}

          {{ Form::label('choose', "Two Options") }}
          {{ Form::withLabel('choose', 'Red')->checkbox('choose', 1, TRUE) }}
          {{ Form::withLabel('choose', 'Yellow')->checkbox('choose', 2, FALSE) }}

          {{ Form::label('check', "Other Checkboxes") }}
          {{ Form::withLabel('check', 'Box')->checkbox('check', 'box', FALSE) }}
          {{ Form::withLabel('check', 'Cartboard')->checkbox('check', 'board', FALSE) }}
          {{ Form::withLabel('check', 'Paper')->checkbox('check', 'paper', FALSE) }}

          {{ Form::label('qty', "Radio Selection") }}
          {{ Form::withLabel('qty', 'Full')->radio('qty', '1', FALSE) }}
          {{ Form::withLabel('qty', 'Half Full')->radio('qty', '0.5', FALSE, ['id'=>'half-full']) }}
          {{ Form::withLabel('qty', 'Half Empty')->radio('qty', '0.5', FALSE, ['id'=>'half-empty']) }}
          {{ Form::withLabel('qty', 'Empty')->radio('qty', '0', FALSE) }}

          {{ Form::submit('Create Account',array('class'=>'button')) }}
        </fieldset>
        {{ Form::close() }}
      </div>
    </div>
  </body>
</html>
```
Because those methods are going to be called from other static methods and the counters need to be shared among all the instances of ``Form``.