Link options (context?) should be re-evaluated during serialization

Yo Nick,

I ran across a behavior which I believe is not intended. Basically, we're conditionally adding properties to links depending on the user's permissions. However, once the condition is true for link "X", **every** user will have the property showing up for that link, regardless of the options passed in to `to_json`.

I've attached a PR that reproduces the gist of it. I have to run now, but I'll try to dig deeper during the weekend. Any ideas?

Cheers!