Refactor AssetStore::openAsset to allow intercepting and re-routing the request to Router
[lib/weak_fn.hpp]External binder-helper to create weak_fn for binding.
[bithorded/router/asset]Hookup signal-notifications through weak_fn to hold reference to Forwardasset while callback-function is active..
[bithorde/router/asset]Implement real ReadAsset-subclass for UpstreamAsset to hold self-reference while running callbacks.
Avoids problems when callbacks are destroying objects.
CA-CHING!
[bithorded/cache/manager]Fix debug-linking-message.
[bithorded/store/assetstore]Change link() to update_links() which also purges possibly old links.
[bithorded/store/asset]Allow opening READWRITE or READ-only.
[bithorded/cache]Link asset to ids received in so partial cached assets gets used.
[bithorded/cache/asset]Render upstreams inline into inspection-view.
[tests/test_random_read]Verify cache-consistency in various non-linear and non-aligned read-patterns.
[bithorded/source/store]Refactor some stuff.
[bithorded/cache/asset]let write() actually return bytes written.
[bithorded/store/asset]Tweaked can_read().
[bithorded/cache]Don't try to open cached asset if cacheDir isn't configured.