More fully encapsulate Target features.

Will work for more than 64 features

Better handles passing features that are out of range.

Uses Standard C++ bitset instead of defining Halide's own.

Easily allows moving to using strings for feature names.

Avoides partial bit operation logic in Target client code. (Frankly, I
have no problem with using bit operators, but if the objection was
that they are prone to error, we should kill all of it, not just most
of it.)

Alas support would be a bit better with C++11 initializer_list
support. We might consider moving Halide::Internal::vec from Internal
to the main namespace.
Merge branch 'master' of https://github.com/halide/Halide