Cached files so they are only loaded once

`files` is an expensive method and is called a number of times. Added caching of the files result and reloads them in certain conditions

Before:
```
MethodProfiler results for: Sinatra::AssetPack::Package
+---------------------+------------+-------------+--------------+-------------+-------------+
| Method              | Min Time   | Max Time    | Average Time | Total Time  | Total Calls |
+---------------------+------------+-------------+--------------+-------------+-------------+
| #to_production_html | 643.064 ms | 2077.208 ms | 1247.375 ms  | 4989.499 ms | 4           |
| #production_path    | 641.064 ms | 2076.208 ms | 1246.374 ms  | 4985.498 ms | 4           |
| #files              | 640.064 ms | 2071.207 ms | 1243.624 ms  | 4974.497 ms | 4           |
| #paths_and_files    | 640.064 ms | 2071.207 ms | 1243.624 ms  | 4974.497 ms | 4           |
| #link_tag           | 0.000 ms   | 1.000 ms    | 0.500 ms     | 2.000 ms    | 4           |
| #add_path_prefix    | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 4           |
| #css?               | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 2           |
| #js?                | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 4           |
+---------------------+------------+-------------+--------------+-------------+-------------+
MethodProfiler results for: Sinatra::AssetPack::Options
+-----------------+------------+-------------+--------------+-------------+-------------+
| Method          | Min Time   | Max Time    | Average Time | Total Time  | Total Calls |
+-----------------+------------+-------------+--------------+-------------+-------------+
| #glob           | 640.064 ms | 2070.207 ms | 1243.374 ms  | 4973.497 ms | 4           |
| #files          | 303.030 ms | 396.039 ms  | 331.433 ms   | 4971.497 ms | 15          |
| #ignored?       | 0.000 ms   | 1.000 ms    | 0.067 ms     | 1.000 ms    | 15          |
| #to_uri         | 0.000 ms   | 20.002 ms   | 0.018 ms     | 719.071 ms  | 39780       |
| #packages       | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 4           |
| #served         | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 4           |
| #app            | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 8           |
| #local_file_for | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 4           |
| #asset_hosts    | 0.000 ms   | 0.000 ms    | 0.000 ms     | 0.000 ms    | 8           |
+-----------------+------------+-------------+--------------+-------------+-------------+
MethodProfiler results for: Sinatra::AssetPack::BusterHelpers
+--------------------+----------+----------+--------------+------------+-------------+
| Method             | Min Time | Max Time | Average Time | Total Time | Total Calls |
+--------------------+----------+----------+--------------+------------+-------------+
| #cache_buster_hash | 0.000 ms | 5.001 ms | 1.250 ms     | 10.001 ms  | 8           |
| #add_cache_buster  | 0.000 ms | 5.001 ms | 1.250 ms     | 10.001 ms  | 8           |
+--------------------+----------+----------+--------------+------------+-------------+
```

After:
```
MethodProfiler results for: Sinatra::AssetPack::Package
+---------------------+----------+------------+--------------+------------+-------------+
| Method              | Min Time | Max Time   | Average Time | Total Time | Total Calls |
+---------------------+----------+------------+--------------+------------+-------------+
| #to_production_html | 4.000 ms | 369.037 ms | 102.010 ms   | 408.041 ms | 4           |
| #production_path    | 3.000 ms | 368.037 ms | 101.510 ms   | 406.041 ms | 4           |
| #files              | 0.000 ms | 362.037 ms | 91.009 ms    | 364.038 ms | 4           |
| #paths_and_files    | 0.000 ms | 362.037 ms | 91.009 ms    | 364.038 ms | 4           |
| #link_tag           | 0.000 ms | 1.000 ms   | 0.250 ms     | 1.000 ms   | 4           |
| #add_path_prefix    | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 4           |
| #css?               | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 2           |
| #js?                | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 4           |
+---------------------+----------+------------+--------------+------------+-------------+
MethodProfiler results for: Sinatra::AssetPack::Options
+-----------------+----------+------------+--------------+------------+-------------+
| Method          | Min Time | Max Time   | Average Time | Total Time | Total Calls |
+-----------------+----------+------------+--------------+------------+-------------+
| #glob           | 0.000 ms | 362.037 ms | 90.509 ms    | 362.037 ms | 4           |
| #files          | 0.000 ms | 361.037 ms | 24.069 ms    | 361.037 ms | 15          |
| #local_file_for | 0.000 ms | 1.000 ms   | 0.250 ms     | 1.000 ms   | 4           |
| #to_uri         | 0.000 ms | 1.001 ms   | 0.018 ms     | 47.003 ms  | 2652        |
| #ignored?       | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 15          |
| #served         | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 4           |
| #app            | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 8           |
| #packages       | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 4           |
| #asset_hosts    | 0.000 ms | 0.000 ms   | 0.000 ms     | 0.000 ms   | 8           |
+-----------------+----------+------------+--------------+------------+-------------+
MethodProfiler results for: Sinatra::AssetPack::BusterHelpers
+--------------------+----------+-----------+--------------+------------+-------------+
| Method             | Min Time | Max Time  | Average Time | Total Time | Total Calls |
+--------------------+----------+-----------+--------------+------------+-------------+
| #add_cache_buster  | 0.000 ms | 30.003 ms | 5.125 ms     | 41.003 ms  | 8           |
| #cache_buster_hash | 0.000 ms | 29.003 ms | 4.875 ms     | 39.003 ms  | 8           |
+--------------------+----------+-----------+--------------+------------+-------------+
```

Helps towards solving #85