Custom patterns for template filenames

There are cases where usage of the default `_*.liquid` file naming is impossible.
For example, application which I currently work on, allows users to upload documents with Liquid markup but only if they have .html extension (it's a security rule). It works fine but only until user tries to add a partial. For now Liquid uses strict pattern for partial filenames (`"_#{partial_name}.liquid"`) and there is no way to specify another pattern.
This small PR adds this feature. It allows to specify custom patterns for template filenames. For example:
```ruby
file_system = Liquid::LocalFileSystem.new("/templates", "%s.html") # pattern is specified in the 2nd argument
file_system.full_path("index") # => "/templates/index.html"
```
I used the default Ruby `String#%` as a formatter.