Make the $alias parameter in the `from` method optional

The refactoring commits can be merged first using PR #396 

The approach here is the one briefly discussed at #590 and originally suggested by @guilhermeblanco
`} else {`