Ability to set custom ListSectionAdapter or custom section header layout

As we speak in #6 I've added the ability to set custom ListSectionAdapter or custom section header layout in the builder.

I've added it to the builder, so you can do it like that:

```java
        final SectionedListAdapter<ListeableAdapter> sectionedAdapter =
                SectionedListAdapter.Builder.create(this, adapter)
                        .setSectionizer(new Sectionizer<Listeable>() {
                            @Override
                            public CharSequence toSection(Listeable item) {
                                return item.getType();
                            }
                        })
                        .setSectionTitleLayout(R.layout.my_custom_list_header)
                        .build();
```

Or even set your own custom adapter:

```java
        final SectionedListAdapter<ListeableAdapter> sectionedAdapter =
                SectionedListAdapter.Builder.create(this, adapter)
                        .setSectionizer(new Sectionizer<Listeable>() {
                            @Override
                            public CharSequence toSection(Listeable item) {
                                return item.getType();
                            }
                        })
                        .setSectionTitleAdapter(new SectionTitleAdapter(this, R.layout.list_header) {
                            @Override
                            public View getView(int position, View view, ViewGroup parent) {
                                // do your own custom stuff
                            }
                        })
                        .build();
```

Without all that stuff provided, `ListSectionAdapter` will instantiate `SectionTitleAdapter ` with `R.layout.list_header` parameter so nothing changes.

@nolanlawson I would be grateful if you find some time and review this.

Cheers!