IoC container not resolving classes with optional parameters (i.e. models that use Eloquent)

1) If you look at http://paste.laravel.com/gUQ these tests will fail because there IoC cannot handle optional parameters in classes constructors. This fix has already been made in L4's Illuminate\Container but I'm backporting to L3.

2) Also if someone wants to do IoC::resolve('ClassName', [$dep1]); I have added a patch for this. Before it would just auto resolve to a new (instanceOf $dep1) instead of assigning $dep1 to the Reflector's ClassName::__construct(ClassName2 $dep) arguments.

3) Wrote unit tests in laravel\laravel\cases\ioc.test.php to look for these types cases if they might arise again