Fix indentation to use only spaces - no tabs.

This keeps in line with PSR-2 section 2.4 and helps make it easier to
contribute to the file without breaking indentation for some users.
Broaden $function to accept any callable, not just closures.

Only accepting closures is annoying when you have a function that
already exists.

For example,
```php
function getData()
{
    // ...
    return $results;
}
```

This can now be cached by passing the string 'getData' as the function
rather than having to wrap the function in a closure.  Similarly, if
that function was defined on an object you could now pass array($object,
'getData').

The type hint is PHP 5.4 or newer, hence the composer.json change.
Merge pull request #10 from nubs/fix-indent

Fix indentation to use only spaces - no tabs.
Merge pull request #11 from nubs/accept-callable

Broaden $function to accept any callable, not just closures.
merge with https://github.com/Gregwar/Cache/commit/bf8038cb4a00ba7c63642ead89153b5c11ab3a28
remove double contruct and unused field filemode
fix indent
merge with https://github.com/jijidev/Cache/commit/e13164c1884393847ec11247a76e96f6d032413a
remove duplicate require from composer.json