Added a method to fluently set belongs-to relation

This method spun off from a discussion in IRC. What this enables is this:

$user->comments()->insert($comment_data)->article()->bind($article->id)
Removed a Useless if conditional from bind method
Cache application.encoding within HTML class to avoid unnecessary calls to Config::get();

Calling the "Config::get('application.encoding')" is expensive and within a large form (using the form builder) having it requested multiple times can result in a significant performance drag.

Caching this value reduced calls to Config:get within our project from 1200+ to 125. All core tests appear to pass with this change in place.
Refactor changes into single get_encoding() method within the HTML Class (in order to remove duplication of logic). All tests continue to pass.
Update to conform better with laravels coding style.
Add unit tests for date_format validator rule.
Implement date_format validation rule.
Add documentation for date_format validation rule.
Rename static::get_encoding() method to static::encoding() to fit better with style.
Reformatted return

Changed the return of the method in line with suggestions from @JoostK.
Fix CLI mode detection for some shared hosts.
Added PDO error code
Setting the exception code in the constructor
Use Request helper to determine whether we're in CLI mode.
Merge pull request #2 from laravel/develop

Develop
Add task bundle:uninstall, bundle:unpublish, migrate:rollback bundle, migrate:reset bundle.
Add another test with quotes around the validation rule's parameter.
Fix validation tests one more time.
segment pattern to match a single segment, also matches UTF-8 segments.
added 'u' flag for preg_match to match UTF-8 URIs.