Extended the Router class adds new functionalities while keeping the global performance impact low
Merge pull request #18 from nilopc/master

Extended the Router class
Line 260: changed $path_parts[0] to implode('/',$path_parts). Otherwise new routing won't work.
Updating Controller class to make it 100% compatible with new router system

$return->build() and $result->build() replaced by:

```php
       	$vars = Router::getControllerVars();
       	if( isset( $this->params['controller_method'] ) ) {
              $method = $this->params['controller_method'];
        } else {
              $method = 'build';
       }
       $return = call_user_func_array (array( $this, $method ) , $vars );
```
Merge pull request #19 from nilopc/patch-1

Bootstrap.php : Changed $path_parts[0] to implode('/',$path_parts).
Merge pull request #20 from nilopc/patch-2

Updating Controller class to make it 100% compatible with new router sys...
Added check before executing a class method other than build.

Line 638: method_exists($this,$this->params['controller_method'])) is necessary in order to avoid loading inexistant methods from the current class instance, and moreover, any class instances invoked when loading them as a module (using $this->addModule()), defaulting to build.

Eg: Using the new router, we want to run update method.
```php
class HomeIndexController extends \Sifo\Controller
{
   function update($id)
   {
     //...
     $this->addModule('flash_message','HomeFlashMessage');
     //...
   }
}
```

```php
class HomeFlashMessage extends \Sifo\Controller
{
   function build()
   {
     //...
   }
}
```
$this->addModule will invoke HomeFlashMessage. If class is not modified, the current code will try to run the "update" method on HomeFlashMessage, resulting in an error. This patch defaults to build() as update() doesnt' exist.
Merge pull request #21 from nilopc/patch-3

Added check before executing a class method other than build.
Merge branch 'master' into devel
Revert "Merge pull request #21 from nilopc/patch-3"

This reverts commit 37f8d581f800d50da2af78acc51215a5b47d0ad9, reversing
changes made to 4befe4d1daf9c8a4a9b76ff224bd8ec5832c8504.
Revert "Merge pull request #20 from nilopc/patch-2"

This reverts commit 4befe4d1daf9c8a4a9b76ff224bd8ec5832c8504, reversing
changes made to 5121898ac527b225649e32a82409a28446b4cbeb.
Revert "Merge pull request #19 from nilopc/patch-1"

This reverts commit 5121898ac527b225649e32a82409a28446b4cbeb, reversing
changes made to 1caa6e5c40a3a5bd86f69ac5cbffe925a5232c44.
Revert "Merge pull request #18 from nilopc/master"

This reverts commit 1caa6e5c40a3a5bd86f69ac5cbffe925a5232c44, reversing
changes made to 14438241cf3e2eaa48da7546698e0220f51d80fe.
Merge branch 'master' into devel